• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sens dziedziczenia

VPS Starter Arubacloud
+1 głos
206 wizyt
pytanie zadane 4 czerwca 2016 w C i C++ przez Norbit Początkujący (270 p.)
http://forum.pasja-informatyki.pl/147449/obiektowy-c-dziedziczenie-a-tworzenie-obiektow-jednych-klas-w-innych?show=147462#a147462

W powyższym moim pytaniu zamieściłem w jednym z komentarzy link do filmiku:

https://www.youtube.com/watch?v=ZesZXlBcROA&list=PLOYHgt8dIdozvOVheSRb_qPVU-4ZJA7uB&index=5

w którym mogę użyć obiektu Punkt w klasie Kolo i dodać tylko promień i nazwę i gotowe. A zatem gdzie tak naprawdę dziedziczenie ma sens, skoro: jeśli mam już gotowy kod jednej klasy to nie potrzebuję stosować dziedziczenia, aby klasa Kolo posiadała to co klasa Punkt wystarczy, że stworzę obiekt Punkt wewnątrz klasy Kolo

2 odpowiedzi

+1 głos
odpowiedź 4 czerwca 2016 przez k222 Nałogowiec (30,150 p.)
Jeśli dobrze zrozumiałem to problem z twoim sposobem pojawi się poprzez to, że obiekt Punkt stworzony w Klasie koło będzie miał to co jest potrzebne, ale także inne dane które potrzebne nie są  -  np. promień i pole, i te zmienne będą istniały przez co zabiorą pamięć i będziesz musiał się nimi martwić - przy funkcjach które będą je brały pod uwagę (m.in. funkcji która wyświetla wszystkie dane), jak dziedziczysz to w każdej klasie jest tylko to co ma być, częściowo wzięte z innej klasy z której dziedziczysz.
komentarz 4 czerwca 2016 przez Norbit Początkujący (270 p.)
http://forum.pasja-informatyki.pl/147449/obiektowy-c-dziedziczenie-a-tworzenie-obiektow-jednych-klas-w-innych?show=147476#c147476

Podobny problem miałem w powyższym zadaniu. Rozumiem, że muszę stworzyć 8 obiektów klasy Odcinek, żeby utworzyć ośmiokąt, ale pozostaje mi problem, bo każdy odcinek ma atrybut nazwa, jak z tym sobie poradzić
komentarz 7 czerwca 2016 przez k222 Nałogowiec (30,150 p.)
Bo widzisz klasa sama w sobie to taki "przepis na placek"  - masz w niej składniki (zmienne), czynności (funkcje) + dodatkowe zabawki typu przeciążone operatory, zaprzyjaźnione funkcje, klasy, itp. Ale czy mając przepis na placek możesz powiedzieć ile masz placków? No nie bardzo. Tak samo jest i w tym przypadku. Masz klasę ośmiokąt i jak będzie ona dziedziczyła z klasy odcinek to będziesz miał do dyspozycji zmienne i funkcje ale nic konkretnego. Spróbuj raczej zrobić oddzielne klasy ośmiokąt i odcinek i w klasie ośmiokąt  zadeklarować obiekty (ew. tablicę obiektów) klasy odcinek i używać ich jako obiektów klasy. Możesz pomyśleć o pewnej analogii jak już na pewno używałeś w klasie obiektów klasy  string.
komentarz 7 czerwca 2016 przez draghan VIP (106,230 p.)

Podobny problem miałem w powyższym zadaniu. Rozumiem, że muszę stworzyć 8 obiektów klasy Odcinek, żeby utworzyć ośmiokąt, ale pozostaje mi problem, bo każdy odcinek ma atrybut nazwa, jak z tym sobie poradzić

Nadać każdemu odcinkowi nazwę, skojarzoną z nazwą ośmiokąta.

0 głosów
odpowiedź 4 czerwca 2016 przez konrad99 Gaduła (4,090 p.)

Dziedziczenie proste (jednokrotne):
+ponowne wykorzystanie raz napisanego kodu
+rozszerzenie i dostosowanie do własnych potrzeb klas niżej w hierarchii
+modularność (możliwość łatwego wprowadzenia nowych funkcji)
+możliwość stosowania funkcji wirtualnych

Dziedziczenie złożone (wielokrotne):
+pozwala klasyfikować obiekty do różnych grup o wspólnych cechach
+pozwala do implementacji jednego obiektu dołączyć implementację drugiego
 

 

Podobne pytania

0 głosów
1 odpowiedź 98 wizyt
0 głosów
1 odpowiedź 372 wizyt
pytanie zadane 2 czerwca 2017 w C i C++ przez Beorn Początkujący (250 p.)
0 głosów
2 odpowiedzi 1,047 wizyt
pytanie zadane 6 stycznia 2017 w C i C++ przez Ala123456 Użytkownik (760 p.)

93,023 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,368 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...