Abstrakt Klass vs Ierfschaft
 

Abstrakt Klass an Ierfschaft sinn zwee wichteg objektorientéiert Konzepter, déi a villen objektorientéierter Programméierungssprooche wéi Java fonnt ginn. Abstrakt Klass kann als abstrakt Versioun vun enger regulärer (konkreter) Klass ugesi ginn, während d'Ierfschaft nei Klassen erlaabt aner Klassen ze verlängeren. Abstrakt Klass ass eng Klass déi net initialiséiert ka ginn, awer ka verlängert ginn. Also, Abstract Klassen sinn nëmmen sënnvoll ze hunn wann d'Programméierungssprooch Ierfschaft ënnerstëtzt. A Java ginn Abstrakt Klassen mat abstrakt Schlësselwuert erkläert, wärend Extends-Schlësselwuert gëtt benotzt fir ierwen aus enger (super) Klass.

Wat ass abstrakt Klass?

Typesch kënnen abstrakt Klassen, och bekannt als Abstract Base Classes (ABC), net direkt gemaach ginn (eng Instanz vun där Klass kann net erstallt ginn). Also, Abstrakt Klassen sinn nëmmen sënnvoll ze hunn wann d'Programméierungssprooch Ierfschaft ënnerstëtzt (d'Fäegkeet Subklassen ze kreéieren aus enger Klass ze verlängeren). Abstract Klassen representéieren normalerweis en abstrakt Konzept oder Entitéit mat deelweis oder keng Ëmsetzung. Dofir handelen abstrakt Klassen als Eltereklassen, aus deenen d'Kannerklasse ofgeleet sinn, sou datt d'Kandeklass déi onkomplett Funktiounen vun der Eltereklass deelt an d'Funktionalitéit ka bäigefüügt ginn fir se ofzeschléissen.

Abstract Klassen kënnen abstrakt Methoden enthalen. Ënnerklassen, déi eng abstrakt Klass ausdehnen, kënnen dës (ierflecher) abstrakt Methode implementéieren. Wann d'Kannerklass all esou Abstract Methoden implementéiert, ass et eng konkret Klass. Awer wann et net geet, gëtt d'Kandeklass och eng Abstract Klass. Wat alles dat bedeit ass datt wann de Programméierer eng Klass als Abstract nominéiert, seet se datt d'Klass onkomplett ass an et Elementer hunn déi mussen ofgeschloss ginn vun den ierflechen Ënnerklassen. Dëst ass e flotte Wee fir e Kontrakt tëscht zwee Programméierer ze kreéieren, wat d'Aufgaben an der Softwareentwécklung vereinfacht. De Programméierer, dee Code schreift fir ze ierwen, muss d'Methoddefinitioune genau verfollegen (awer natierlech kann hir eegen Ëmsetzung hunn).

Wat ass Ierfschaft?

Ierfschaft ass en objektorientéiert Konzept, wat et erlaabt nei Klassen aner Klassen ze verlängeren. Erweidert Schlësselwuert gëtt benotzt fir d'Konzept vun der Ierfschaft an der Java-Programméierungssprooch ze implementéieren. Ierfschafung bitt wesentlech Codebenotzung duerch Erweiterung vun Eegeschaften a Behuelen vun enger existéierter Klass duerch eng nei definéiert Klass. Wann eng nei Ënnerklass (oder ofgeleet Klass) eng Superklass (oder Elterenklass) verlängert, déi Ënnerklass ierft all Attributer a Methode vun der Superklass. D'Ënnerclass kann eventuell d'Behuele iwwerschreiwe (nei oder erweidert Funktionalitéit u Methoden ubidden) aus der Eltereklass ierflecher. Typesch, Eng Ënnerklass kann net méi Super Klassen verlängeren (z. B. a Java). Dofir kënnt Dir d'Verlängerunge fir méi Multiple Ierfschaft benotzen. Fir Multiple Ierfschaft ze hunn, musst Dir Schnëttplazen benotzen.

Wat ass den Ënnerscheed tëscht Abstrakt Klass an Ierfschaft?

Abstract Klassen representéieren normalerweis en abstrakt Konzept oder eng Entitéit mat deelweis oder keng Ëmsetzung. Ierfschaft erlaabt nei Klassen aner Klassen ze verlängeren. Well abstrakt Klassen kënnen net direkt gemaach ginn, musst Dir d'Konzept vun Ierfschaft benotze fir Abstrakt Klassen ze maachen. Soss huet eng Abstract Klass kee Gebrauch. Abstract Klassen kënnen abstrakt Methoden enthalen a wann d'Klass verlängert gëtt, ginn all Methoden (Abstract a Konkret) ierflech. D'Ierflech Klass kann all oder all d'Methoden ëmsetzen. Wann all déi Abstract Methoden net implementéiert ginn, da gëtt dës Klass och eng Abstract Klass. Eng Klass kann net vu méi wéi enger abstrakt Klass ierwen (dëst ass net eng Qualitéit vun Abstrakt Klassen per se, mee éischter eng Restriktioun vun Ierfschaft).