Какво е наследство?

В обектно-ориентираното програмиране наследяването се отнася до способността на обекта да поеме една или повече характеристики от други класове обекти. Наследените характеристики обикновено са променливи на екземпляри или членски функции. Обект, който наследява тези характеристики, е известен като подклас, а обектът, от който ги наследява, е известен като суперклас. Подробностите за това как се прилага наследството се различават в различните езици, но първият език за неговото прилагане е Simula през 1967 година.

За какво се използва наследството?

Целта на наследяването е да консолидира и повторно да използва кода. Например, ако обектите за кола, камион и мотоциклет са подкласове на превозното средство от суперклас, кодът, който се прилага за всички тях, може да бъде консолидиран в суперклас на превозното средство. Подкласовете ще наследят този код и всички бъдещи промени, направени в него, автоматично.

Пет вида наследство

  • Единично наследяване - Подкласите наследяват характеристики от един суперклас.
  • Множествено наследяване - Подкласът може да има повече от един суперклас и да наследява характеристики от всички тях.
  • Многостепенно наследяване - Подкласът може да има свои собствени подкласове. С други думи, един подклас на суперклас може сам по себе си да бъде суперклас към други подкласове.
  • Йерархично наследяване - базовият клас действа като родителски суперклас за множество нива на подкласове.
  • Хибридно наследяване - Комбинация от един или повече от другите типове наследяване.

Инстанция, обектно-ориентирани, програмни термини