Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Mantošana / Exercises / Mantots atribūts
Risinājums: Mantots atribūts
Šeit ir iespējams risinājums uzdevumam.
Kods
class Vehicle {
has $.wheels;
}
class Bike is Vehicle {
has $.wheels = 2;
}
class Car is Vehicle {
has $.wheels = 4;
}
say Bike.new.wheels;
say Car.new.wheels;🦋 Atrodiet programmu failā inherited-attribute.raku.
Izvade
2
4Komentāri
BikeunCarabi manto noVehicleatribūtuwheels(un tā piekļuves metodi). Neviens no tiem atribūtu nedeklarē no jauna — tie mantotajam tikai dod noklusēto vērtību, attiecīgi2un4.Tā kā noklusējums ir iecepts katrā klasē, objektus var izveidot ar vienkāršu
Bike.newunCar.new, un mantotā piekļuves metode nolasa pareizo riteņu skaitu.Vērtību joprojām var padot arī skaidri, piemēram,
Car.new(wheels => 3), un skaidri norādīts arguments pārraksta noklusējumu. Taču, tā kā velosipēdam vai automašīnai visdrīzāk jau ir tam ierastais riteņu skaits, noklusējumi patur biežāko gadījumu vienkāršu, atstājot vietu retajiem izņēmumiem.
Kursa navigācija
← Mantots atribūts | Lomas →