In object-oriented programming, inheritance is a way to form new classes (instances of which are called objects) using classes that have already been defined. Inheritance is intended to help reuse existing code with little or no modification. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes, which are referred to as base classes (or ancestor classes). The inheritance relationship of sub- and superclasses gives rise to a hierarchy.

PropertyValue
dbpprop:abstract
  • In object-oriented programming, inheritance is a way to form new classes (instances of which are called objects) using classes that have already been defined. Inheritance is intended to help reuse existing code with little or no modification. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes, which are referred to as base classes (or ancestor classes). The inheritance relationship of sub- and superclasses gives rise to a hierarchy. The inheritance concept was invented in 1967 for Simula. Inheritance should not be confused with (subtype) polymorphism, commonly called just polymorphism in object-oriented programming. Inheritance is a relationship between implementations, whereas subtype polymorphism is relationship between types (interfaces in OOP). In some, but not all OOP languages, the notions coincide because the only way to declare a subtype is to define a new class that inherits the implementation of another. Inheritance does not entail behavioral subtyping either. It is entirely possible to derive a class whose object will behave incorrectly when used in a context where the parent class is expected; see the Liskov substitution principle. Complex inheritance, or inheritance used within a design that is not sufficiently mature, may lead to the Yo-yo problem.
  • Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der Objektorientierung und hat große Bedeutung in der Softwareentwicklung. Die Vererbung dient dazu, aufbauend auf existierenden Klassen neue zu schaffen, wobei die Beziehung zwischen ursprünglicher und neuer Klasse dauerhaft ist. Eine neue Klasse kann dabei eine Erweiterung oder eine Einschränkung der ursprünglichen Klasse sein. Neben diesem konstruktiven Aspekt dient Vererbung auch der Dokumentation von Ähnlichkeiten zwischen Klassen, was insbesondere in den frühen Phasen des Softwareentwurfs von Bedeutung ist. Auf der Vererbung basierende Klassenhierarchien spiegeln strukturelle und verhaltensbezogene Ähnlichkeiten der Klassen wider. Die vererbende Klasse wird meist Basisklasse (auch Super-, Ober- oder Elternklasse) genannt, die erbende abgeleitete Klasse (auch Sub-, Unter- oder Kindklasse). Den Vorgang des Erbens nennt man meist Ableitung oder Spezialisierung, die Umkehrung hiervon Generalisierung, was ein vorwiegend auf die Modellebene beschränkter Begriff ist. In der Unified Modeling Language (UML) wird eine Vererbungsbeziehung durch einen Pfeil mit einer dreieckigen Spitze dargestellt, der von der abgeleiteten Klasse zur Basisklasse zeigt. Geerbte Attribute und Methoden werden in der Darstellung der abgeleiteten Klasse nicht wiederholt. In der Programmiersprache Simula wurde 1967 die Vererbung mit weiteren Konzepten objektorientierter Programmierung erstmals eingeführt. Letztere hat seitdem in der Softwareentwicklung wichtige neue Perspektiven eröffnet und auch die komponentenbasierte Entwicklung ermöglicht. Abgeleitete Klasse und Basisklasse stehen typischerweise in einer „ist-ein“-Beziehung zueinander. Klassen dienen der Spezifikation von Datentyp und Funktionalität, die beide vererbt werden können. Einige Programmiersprachen trennen zumindest teilweise zwischen diesen Aspekten und unterscheiden zwischen Schnittstelle (engl. Interface) und Klasse. Wenn eine abgeleitete Klasse von mehr als einer Basisklasse erbt, wird dies Mehrfachvererbung genannt. Mehrfaches Erben ist nicht bei allen Programmiersprachen möglich, bei manchen nur in eingeschränkter Form.
  • En l'orientació a objectes, l'herència és una forma de crear classes noves fent servir classes que ja s'han definit abans. Les primeres, que es coneixen com classes derivades, prenen o hereten els atributs i comportament de les darreres, que es coneixen com a classes base. Gràcies a això, es permet reutilitzar un codi ja existent minimitzant-ne les modificacions necessàries. Hom es refereix a una herència també com una generalització, perquè s'hi captura una relació jeràrquica entre les classes d'objectes. Per exemple, una «fruita» és una generalització d'una «poma« o una «taronja». Per això, es diu que una fruita és una abstracció d'una poma o una taronja; i per tant, que les darreres hereten les Propietats comunes d'una fruita. Un exemple interessant es «vehicle». Podem deduïr que tenim un camió, un cotxe o un tractor. Un dels avantatges més interessants de l'herència és que diferents mòduls amb interfícies similars poden controlar-se amb un mateix codi compartit, reduint així la complexitat del programa.
  • public class Mamifero private int patas; private String nombre; public void imprimirPatas System. out. println(nombre + " tiene " + patas + " patas\n"); public Mamifero(String nombre, int patas) this. nombre = nombre; this. patas = patas; public class Perro extends Mamifero public Perro(String nombre) super(nombre, 4); public class Gato extends Mamifero public Gato(String nombre) super(nombre, 4); public class CreaPerro public static void main(String args) Perro bobi = new Perro("Bobi"); bobi. imprimirPatas; /*Está en la clase mamífero*/ Se declaran las clases mamíferos, gato y perro, haciendo que gato y perro sean unos mamíferos (derivados de esta clase), y se ve como a través de ellos se nombra al animal pero así también se accede a patas dándole el valor por defecto para esa especie.
  • Olio-ohjelmoinnissa Perintä on tapa muodostaa uusia luokkia käyttämällä avuksi jo aiemmin määriteltyjä luokkia. Luokka saa käyttöönsä kaikki yliluokkien ominaisuudet, joita ei ole yliluokasta käsin estetty perimästä. Perinnän tarkoituksena on vähentää koodin uudelleenkirjoittamista. Lisäksi, koska aliluokkaan voidaan lisätä ominaisuuksia, joita ei yliluokassa ollut, voidaan aliluokkaa pitää yliluokan erikoistapauksena. Esimerkiksi yliluokka voi olla Hedelmä, jonka aliluokkana on Omena. Tällöin Hedelmä-luokassa määritellään ominaisuudet, jotka ovat yhteisiä kaikille hedelmille, kuten paino ja Omena luokassa määritellään ominaisuudet, jotka kuuluvat kaikille omenoille, mutta eivät kuulu esimerkiksi päärynöille Moniperinnässä aliluokalla voi olla monta yliluokkaa.
  • L’héritage est un principe de la programmation orientée objet, permettant entre autres la réutilisabilité et l'adaptabilité des objets. Elle se nomme ainsi car le principe est en quelque sorte le même que celui d’un arbre généalogique. Ce principe est basé sur des classes dont les "filles" héritent des caractéristiques de leur(s) "mère(s)". Les classes possèdent des attributs et/ou des méthodes qui leurs sont propres, et qui pourront être transmis aux classes filles découlant des classes mères. Chacune des classes filles peut donc posséder les mêmes caractéristiques que ses classes mères et bénéficier de caractéristiques supplémentaires à celles de ces classes mères. Toutes les méthodes de la classe héritée (fille) peuvent être redéfinies. Chaque classe fille peut, si le programmeur n'a pas défini de limitation, devenir à son tour classe mère. Pour qu'une classe fille puisse hériter des propriétés de la classe mère, il faut que les propriétés de la classe mères possèdent des attributs de visibilités compatibles. Il existe globalement 3 niveaux de visibilité : public, private, protected Public est la visibilité la plus large (accessible en dehors de la classe) Private est la plus restrictive (accessible uniquement depuis la classe courante) Protected est intermédiaire et est visible par la classe courante, toutes les classes filles, mais inaccessible en dehors des classes mère/filles.
  • L' ereditarietà è uno dei concetti fondamentali nel paradigma di programmazione a oggetti. Essa consente di definire una classe come sottoclasse o classe derivata a partire da una classe preesistente detta superclasse o classe base. La sottoclasse "eredita" implicitamente tutte le caratteristiche (attributi e operazioni) della classe base. Concettualmente, l'ereditarietà indica una relazione di generalizzazione: essa corrisponde infatti all'idea che la superclasse rappresenti un concetto generale e la sottoclasse rappresenti una variante specifica di tale concetto generale. Su questa interpretazione generale si basa tutta la teoria dell'ereditarietà nei linguaggi a oggetti, che include concetti come il polimorfismo, l'overriding e le classi astratte. Oltre a essere un importante strumento di modellazione (e quindi significativo anche in contesti diversi dalla programmazione in senso stretto, per esempio in UML), l'ereditarietà ha importantissime ripercussioni sulla riusabilità del software.
  • 継承(けいしょう、inheritance:インヘリタンス)とは、オブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。またJavaのインタフェース継承のように機能セットの仕様のみを引き継ぐ場合もある。 一般的に、BがAを継承する場合、B is a A. (BはAの一種である)という意味的な関係(Is-a関係)が成り立つ。従って、同じふるまいを持つからと言って、意味的に無関係なクラス間に継承関係を持たせるのは適切でない場合が多い。 プロトタイプベースのオブジェクト指向言語(Self、NewtonScript等)のように「クラス」という概念を持たない場合でも、クローン元となるオブジェクトを指して「継承」と呼ぶ。 継承と類似の概念に「委譲」があるが、継承では一度定まった継承関係は通常変更されないのに対して、委譲対象は必要に応じて変更されうるものである。 Is-a関係を持つ継承とは階層が異なる概念として集約 (lang|en|aggregation}}) とコンポジション集約 (lang|en|composition}}) があるが、これはクラス間の関係がHas-aである包含関係であり、クラス間の関係は継承よりも疎である。
  • Overerving is een term die gebruikt wordt bij de methodiek van het object-georiënteerd programmeren. Het betekent dat een klasse variabelen (eigenschappen) en - afhankelijk van de definitie van de programmeertaal voor methodes - functies en procedures erft van een superklasse. Als superklasse kan bijvoorbeeld "Dier" genomen worden. Een van de eigenschappen van een "Dier" is de vorm; de vorm wordt bepaald door de DNA-code van het dier. Bij het aanmaken van het dier wordt de DNA-code bepaald. De DNA-code kan bepaald worden door het afnemen van bloed, voor het gemak geeft een functie met de naam "bloed" de DNA-code van het dier. De klasse zou er als volgt uit kunnen zien: klasse Dier { constante DNAcode; constructor Dier(DNA) {DNAcode = DNA // maakt het dier aan. methode bloed:DNAcode // geeft DNA code af d.m.v. bloed Dieren reageren ook op prikkels van buiten, dus zou aan deze klasse ook een methode met de naam "prikkel" toegevoegd kunnen worden die een variabele waarde van de klasse binnenkrijgt en verwerkt. klasse Dier { constante DNAcode constructor Dier(DNA) {DNAcode = DNA // maakt het dier aan. methode bloed:DNAcode // geeft DNA code af d.m.v. bloed methode prikkel(Prikkel) // geeft een prikkel aan het dier Door over te erven van de klasse "Dier" worden alle eigenschappen en methodes van die klasse overgenomen. Dit maakt het mogelijk om nieuwe diersoorten te maken die allemaal een DNA-code hebben en prikkels kunnen verwerken. De programmeur kan een nieuwe diersoort een unieke DNA-code geven en het op een andere manier laten reageren op een prikkel dan is voorgeschreven in de superklasse "Dier". Een voorbeeld van een klasse die erft van "Dier" is een klasse "Zoogdier" die op zichzelf zijn eigenschappen en methodes overerft aan een klasse "Olifant". klasse Zoogdier (Dier) { variabele Geluid = 'zzzz'; constructor Zoogdier(DNA) { super(DNA) methode maakGeluid:Geluid { return Geluid // geeft het geluid van een Zoogdier klasse Olifant (Zoogdier) { variabele Geluid = 'Muuuh' constructor Olifant { super('GCTTGGACCGTCGATGA') methode stamp // laat een Olifant stampen De "Zoogdier"-klasse neemt alle methodes en eigenschappen van "Dier" over en voegt er eigen methodes en eigenschappen aan toe. De "Olifant" klasse overschrijft alleen de variabele "Geluid", alle andere methodes en toegankelijke eigenschappen voor en van de klasse neemt hij over van zijn superklasse(n). Als het geluid van een "Olifant" wordt opgevraagd wordt dus het geluid 'Muuuh' teruggegeven in plaats van het standaardgeluid 'zzzz'. Een stukje terminologie. De klasse "Dier" hier een generalisatie van "Zoogdier". De klasse "Zoogdier" is een specialisatie van "Dier". Het verschijnsel overerving wordt daarom ook wel specialisatie genoemd. Door overerving goed toe te passen is het dus mogelijk om van alle wezens die uiteindelijk eigenschappen erven van de superklasse "Dier" de DNA-code te krijgen en ze een prikkel toe te sturen dit wordt polymorfisme genoemd. Bij klassen die erven van "Zoogdier" kan zelfs het geluid worden opgevraagd.
  • Dziedziczenie to w programowaniu obiektowym operacja polegająca na stworzeniu nowej klasy na bazie klasy już istniejącej. Na przykład, jeśli mamy klasę (w C++): class Punkt public: float x,y; Punkt(float _x, float _y); virtual void wypisz; virtual void przesun(float przesuniecie_x, float przesuniecie_y); Załóżmy, że w naszym programie wynikła potrzeba użycia dodatkowej klasy, która różni się od tej jedynie w kilku szczegółach funkcjonalnych. Dzięki dziedziczeniu nie musimy tworzyć takiej klasy od zera, a możemy zamiast tego wprowadzić jedynie konieczne modyfikacje do klasy już istniejącej. Przykładowo chcemy, by nowa klasa miała dodatkowy składnik: string nazwa; a także odpowiednio zmieniona metodę wypisz. Dziedziczona klasa może zostać zdefiniowana w następujący sposób: class NazwanyPunkt: public Punkt public: string nazwa; NazwanyPunkt(float _x=0,float _y=0,string _nazwa=NULL); virtual void wypisz; W ten sposób powstała nowa klasa o nazwie NazwanyPunkt (klasa pochodna, podklasa, potomek) wywodząca się od klasy Punkt (klasa podstawowa, nadklasa, rodzic). Bardzo ważna w naszej klasie pochodnej jest pierwsza linijka: class NazwanyPunkt: public Punkt Wyrażenie znajdujące się po dwukropku nazywa się listą pochodzenia. W składni języka C++ informuje ona od czego wywodzi się klasa pochodna. W C++ klasie pochodnej możemy zdefiniować: dodatkowe dane składowe dodatkowe funkcje składowe (w naszym przykładzie zmieniliśmy funkcję wypisz) nową treść funkcji wirtualnej W innych językach szczegóły dziedziczenia mogą wyglądać odmiennie, np. w CLOS klasa pochodna może wpływać na metody odziedziczone po klasie podstawowej, ogólna zasada dziedziczenia pozostaje jednak taka sama. Ten sam przykład dziedziczenia zapisany w Javie: <source lang="java">class NazwanyPunkt extends Punkt
  • A Herança é um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento, geralmente generalização. A herança permite a criação de subclasses que herdam atributos e operações da classe pai (super-classe ou classe base). A herança é um conceito aplicado no momento de criação das classes. Ela é usada na intenção de evitar que classes que possuam atributos ou métodos semelhantes sejam repetidamente criados. Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa. Abaixo uma representação de herança entre classes em UML
  • Насле́дование — один из четырёх важнейших механизмов объектно-ориентированного программирования, позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом. Другими словами, класс-наследник реализует спецификацию уже существующего класса (базовый класс). Это позволяет обращаться с объектами класса-наследника точно так же, как с объектами базового класса .
  • Arv (eng. inheritance) är ett av grundkoncepten inom objektorienterad programmering. Arv går ut på att det går att relatera olika klasser av objekt enligt en arvsprincip. Med arv så ärver subklassen alla egenskaper och färdigheter som definierats för superklassen. Genom arv så bygger man upp en slags logisk hierarki mellan klasserna. Ett konkret exempel är följande. Föreställ er en klass som beskriver ett Fordon (ett fordon som har x antal hjul, som det går att använda till att färdas med och så vidare). Exempel på fordon är bilar, cyklar, motorcyklar. Då kan vi göra skilda klasser Bil, Cykel, Motorcykel som alla ärver de gemensamma egenskaper från Fordon-klassen. Man pratar om superklass och subklass, där superklassen i vårt exempel är Fordon och subklasser är Bil, Cykel, Motorcykel. Genom arv så får Bilen alla egenskaper som gäller för Fordon överlag, det vill säga bilen får automatiskt egenskapen x antal hjul (vilket sedan kan specificeras till 4, 6 eller hur många som helst) samt att det ska gå att färdas med en bil. En tumregel för hur man kan föreställa sig arv inom programmering är att uttala relationen som: (subklassen) är en/ett (superklass), exempelvis att Cykeln är ett Fordon.
  • В об'єктно-орієнтованому програмуванні, успадкува́ння — метод утворення нових класів на основі використання вже існуючих.
  • 继承(Inheritance)是面向对象软件技术当中的一个概念。如果一个类A「继承自」另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。另外,为子类追加新的属性和方法也是常见的做法。 有些编程语言支持多重继承,即一个子类可以同时有多个父类,比如C++编程语言;而在有些编程语言中,一个子类只能继承自一个父类,比如Java编程语言,这时可以利用接口来实现与多重继承相似的效果。
dbpprop:date
  • August 2009
dbpprop:reference
dbpprop:wikiPageUsesTemplate
rdfs:comment
  • In object-oriented programming, inheritance is a way to form new classes (instances of which are called objects) using classes that have already been defined. Inheritance is intended to help reuse existing code with little or no modification. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes, which are referred to as base classes (or ancestor classes). The inheritance relationship of sub- and superclasses gives rise to a hierarchy.
  • Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der Objektorientierung und hat große Bedeutung in der Softwareentwicklung. Die Vererbung dient dazu, aufbauend auf existierenden Klassen neue zu schaffen, wobei die Beziehung zwischen ursprünglicher und neuer Klasse dauerhaft ist. Eine neue Klasse kann dabei eine Erweiterung oder eine Einschränkung der ursprünglichen Klasse sein.
  • En l'orientació a objectes, l'herència és una forma de crear classes noves fent servir classes que ja s'han definit abans. Les primeres, que es coneixen com classes derivades, prenen o hereten els atributs i comportament de les darreres, que es coneixen com a classes base. Gràcies a això, es permet reutilitzar un codi ja existent minimitzant-ne les modificacions necessàries.
  • public class Mamifero private int patas; private String nombre; public void imprimirPatas System. out. println(nombre + " tiene " + patas + " patas\n"); public Mamifero(String nombre, int patas) this. nombre = nombre; this. patas = patas; public class Perro extends Mamifero public Perro(String nombre) super(nombre, 4); public class Gato extends Mamifero public Gato(String nombre) super(nombre, 4); public class CreaPerro public static void main(String args) Perro bobi = new Perro("Bobi"); bobi.
  • Olio-ohjelmoinnissa Perintä on tapa muodostaa uusia luokkia käyttämällä avuksi jo aiemmin määriteltyjä luokkia. Luokka saa käyttöönsä kaikki yliluokkien ominaisuudet, joita ei ole yliluokasta käsin estetty perimästä. Perinnän tarkoituksena on vähentää koodin uudelleenkirjoittamista. Lisäksi, koska aliluokkaan voidaan lisätä ominaisuuksia, joita ei yliluokassa ollut, voidaan aliluokkaa pitää yliluokan erikoistapauksena.
  • L’héritage est un principe de la programmation orientée objet, permettant entre autres la réutilisabilité et l'adaptabilité des objets. Elle se nomme ainsi car le principe est en quelque sorte le même que celui d’un arbre généalogique. Ce principe est basé sur des classes dont les "filles" héritent des caractéristiques de leur(s) "mère(s)".
  • L' ereditarietà è uno dei concetti fondamentali nel paradigma di programmazione a oggetti. Essa consente di definire una classe come sottoclasse o classe derivata a partire da una classe preesistente detta superclasse o classe base. La sottoclasse "eredita" implicitamente tutte le caratteristiche (attributi e operazioni) della classe base.
  • Overerving is een term die gebruikt wordt bij de methodiek van het object-georiënteerd programmeren. Het betekent dat een klasse variabelen (eigenschappen) en - afhankelijk van de definitie van de programmeertaal voor methodes - functies en procedures erft van een superklasse. Als superklasse kan bijvoorbeeld "Dier" genomen worden. Een van de eigenschappen van een "Dier" is de vorm; de vorm wordt bepaald door de DNA-code van het dier. Bij het aanmaken van het dier wordt de DNA-code bepaald.
  • Dziedziczenie to w programowaniu obiektowym operacja polegająca na stworzeniu nowej klasy na bazie klasy już istniejącej. Na przykład, jeśli mamy klasę (w C++): class Punkt public: float x,y; Punkt(float _x, float _y); virtual void wypisz; virtual void przesun(float przesuniecie_x, float przesuniecie_y); Załóżmy, że w naszym programie wynikła potrzeba użycia dodatkowej klasy, która różni się od tej jedynie w kilku szczegółach funkcjonalnych.
  • A Herança é um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento, geralmente generalização. A herança permite a criação de subclasses que herdam atributos e operações da classe pai (super-classe ou classe base). A herança é um conceito aplicado no momento de criação das classes.
  • Насле́дование — один из четырёх важнейших механизмов объектно-ориентированного программирования, позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
  • Arv (eng. inheritance) är ett av grundkoncepten inom objektorienterad programmering. Arv går ut på att det går att relatera olika klasser av objekt enligt en arvsprincip. Med arv så ärver subklassen alla egenskaper och färdigheter som definierats för superklassen. Genom arv så bygger man upp en slags logisk hierarki mellan klasserna. Ett konkret exempel är följande.
  • В об'єктно-орієнтованому програмуванні, успадкува́ння — метод утворення нових класів на основі використання вже існуючих.
rdfs:label
  • Inheritance (object-oriented programming)
  • Vererbung (Programmierung)
  • Herència (programació)
  • Herencia (informática)
  • Perintä (ohjelmointi)
  • Héritage (informatique)
  • Ereditarietà (informatica)
  • 継承
  • Overerving (informatica)
  • Dziedziczenie (programowanie)
  • Herança (programação)
  • Наследование (программирование)
  • Arv (programmering)
  • Успадкування (програмування)
  • 继承 (计算机科学)
skos:subject
foaf:page
is dbpprop:redirect of