Наследяването (програмиране) - това

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

прост наследство

Клас. от които има наследство, наречена база или родител (Eng. база клас). Класове, които са настъпили от основата, наречени потомци. (получен клас Engl.). приемници или производни класове

Някои езици използват абстрактни класове. Абстрактен клас - клас, който съдържа най-малко един абстрактен метод. по който е описано в програмата, тя има поле. техники и не могат да бъдат използвани за създаване на пряко обекта. Това означава, че от абстрактен клас може да наследи само. Обектите се създават само въз основа на извлечения клас наследи от резюмето. Например, абстрактен клас може да бъде база клас "университет служител", които са наследени класове "студент", "професор" и т. D. Тъй като производните класове имат общи области и функции (например, "дата на раждане" полеви), тези членове на класа могат да бъдат описани в базовия клас. Програма обекти са създадени на базата на "дипломант" класове ", професорът," но това няма смисъл да се създаде обект на базата на класа "служител на университета."

множествено наследяване

Когато множествено наследяване между класовете може да бъде повече от един родител. В този случай, класът наследява всички методи на предците си. Предимствата на този подход за по-голяма гъвкавост. Множествена наследство се осъществява в C ++. От други езици, предвижда тази възможност, може да се отбележи, Python и Айфеловата. Множествено наследяване се поддържа в езика на UML.

Множествено наследяване - потенциален източник на грешки, които могат да се дължат на наличието на същите имена метод в предците. В езици, които се позиционират като наследниците на C ++ (Java. C # и т.н.), множествена наследство е изоставено в полза на интерфейсите. Почти винаги е възможно да се избегне използването на този механизъм. Въпреки това, ако е необходимо, е все още там, а след това, за решаване на конфликти, наследени методи използват едно и също име, може, например, да се прилагат на удължаването на експлоатацията поглед - "::" - да се обадя по специфичен метод на даден родител.

Опитвайки се да реши проблема с със същото име в предците на методи е направен на езика на Айфел. в която описанието на новата класа, трябва да бъдат внесени изрично посочва членовете на всяка от извлечения клас и тяхното именуване в новия клас.

Повечето съвременни обектно-ориентирани езици за програмиране (C #. Java. Delphi и др.) Тя поддържа едновременна наследена от клас предшественик и прилагат методи за множество интерфейси в един и същи клас. Този механизъм позволява да голяма степен да замени множествено наследяване - методите на интерфейси, необходими за да се предефинират ясно, че елиминира грешките при наследяване функционалност еднакви методи на различните класове предци.

Единична база клас

В някои езици за програмиране, всички класове явно или неявно наследяват от някакъв базов клас. Smalltalk беше един от първите, които използват езика на тази концепция. Тези езици са Objective-C (NSObject), Perl (Universal), Айфеловата (всякакви), Java (java.lang.Object), C # (System.Object), Delphi (TObject).

Наследяването на програмни езици

Visual Basic

Наследяването на Visual Basic:

Вижте това, което "Наследяването (програмиране)" в други речници:

Наследяването - процес на прехвърляне на собствеността (наследство, наследено имущество) на починалия на другите страни. Наследяването: Наследяването (биология) Наследяването (вдясно) Наследяването (програмиране) Множествено наследяване и вида: с форма на ромб ... ... Wikipedia

Наследяването (пояснение) - Наследяването (програмиране) Наследяването (вдясно) ... Wikipedia

Програмирането на базата на прототипи - прототип на базата на програмния стил на обектно-ориентираното програмиране, в които няма понятие за клас и повторно използване (наследството) се произвежда чрез клониране на съществуваща инстанция на обекта прототип ... ... Уикипедия.

Клас (програмиране) - Този термин, има и други приложения, вижте клас .. Клас по програмиране на набор от методи и функции. данни Други абстрактни типове metaclass, интерфейси, структури, изброявания се характеризират с това, което е негово, а другата ... ... Wikipedia

Виртуална наследство - В този мандат, има и други приложения, вижте наследство .. За наследството виртуални методи, вижте виртуалната метод. Виртуална наследство (инж. Virtual наследство) е една от опциите в ++ езика за програмиране на С ... ... Wikipedia

Множествено наследяване - В този мандат, има и други приложения, вижте наследство .. Множествена наследство имущество, подкрепен от част от обектно-ориентирани езици за програмиране на, когато един клас може да има повече от един суперкласа (директен ... Wikipedia

Множествено наследяване - В този мандат, има и други приложения, вижте наследство .. Диаграма клас наследство под формата на ромб. Множествена наследство (... Wikipedia