Diferència entre la classe abstracta i la classe concreta

Diferència entre la classe abstracta i la classe concreta
Diferència entre la classe abstracta i la classe concreta

Vídeo: Diferència entre la classe abstracta i la classe concreta

Vídeo: Diferència entre la classe abstracta i la classe concreta
Vídeo: ✅ Какая разница между Прокси и VPN 2024, De novembre
Anonim

Clase abstracta versus classe concreta

La majoria dels populars llenguatges de programació orientats a objectes moderns com Java i C es basen en classes. Aconsegueixen els conceptes orientats a objectes com l'encapsulació, l'herència i el polimorfisme mitjançant l'ús de classes. Les classes són una representació abstracta d'objectes del món real. Les classes poden ser concretes o abstractes depenent del nivell d'implementació de les funcionalitats del seu mètode. Una classe concreta implementa completament tots els seus mètodes. Una classe abstracta es pot considerar com una versió limitada d'una classe normal (concreta), on pot contenir mètodes parcialment implementats. Normalment, les classes concretes s'anomenen classes (només).

Què és la classe de formigó?

La classe per defecte és una classe concreta. La paraula clau class s'utilitza per definir classes (per exemple, a Java). I normalment s'anomenen simplement classes (sense l'adjectiu concret). Les classes concretes representen la representació conceptual d'objectes del món real. Les classes tenen propietats anomenades atributs. Els atributs s'implementen com a variables globals i d'instància. Els mètodes de les classes representen o defineixen el comportament d'aquestes classes. Els mètodes i els atributs de les classes s'anomenen membres de la classe. Normalment, l'encapsulació s'aconsegueix fent que els atributs siguin privats, alhora que es creen mètodes públics que es poden utilitzar per accedir a aquests atributs. Un objecte és la instància d'una classe. L'herència permet a l'usuari ampliar classes (anomenades subclasses) d' altres classes (anomenades superclasses). El polimorfisme permet al programador substituir un objecte d'una classe en lloc d'un objecte de la seva superclasse. Normalment, els substantius que es troben a la definició del problema es converteixen directament en classes del programa. I de la mateixa manera, els verbs esdevenen mètodes. Públic, privat i protegit són els modificadors d'accés típics que s'utilitzen per a les classes.

Què és la classe abstracta?

Les classes abstractes es declaren mitjançant la paraula clau abstracta (p. ex., a Java,). Normalment, les classes abstractes, també conegudes com a classes base abstractes (ABC), no es poden crear una instància (no es pot crear una instància d'aquesta classe). Per tant, les classes abstractes només tenen sentit si el llenguatge de programació admet l'herència (capacitat de crear subclasses a partir d'ampliar una classe). Les classes abstractes solen representar un concepte o entitat abstracte amb implementació parcial o sense implementació. Per tant, les classes abstractes actuen com a classes pares de les quals es deriven les classes fills, de manera que la classe secundaria compartirà les característiques incompletes de la classe pare i es poden afegir funcionalitats per completar-les.

Les classes abstractes poden contenir mètodes abstractes. Les subclasses que estenen una classe abstracta poden implementar aquests mètodes abstractes (heretats). Si la classe fill implementa tots aquests mètodes abstractes, es converteix en una classe concreta. Però si no ho fa, la classe fill també es converteix en una classe abstracta. El que vol dir tot això és que, quan el programador designa una classe com a Resum, està dient que la classe estarà incompleta i tindrà elements que hauran de completar les subclasses hereves. Aquesta és una bona manera de crear un contracte entre dos programadors, que simplifica les tasques en el desenvolupament de programari. El programador, que escriu codi per heretar, ha de seguir exactament les definicions del mètode (però, per descomptat, pot tenir la seva pròpia implementació).

Quina diferència hi ha entre la classe abstracta i la classe concreta?

Les classes abstractes solen tenir una implementació parcial o cap. D' altra banda, les classes concretes sempre tenen una implementació completa del seu comportament. A diferència de les classes concretes, les classes abstractes no es poden instanciar. Per tant, les classes abstractes s'han d'ampliar per fer-les útils. Les classes abstractes poden contenir mètodes abstractes, però les classes concretes no. Quan s'estén una classe abstracta, s'hereten tots els mètodes (tant abstractes com concrets). La classe heretada pot implementar qualsevol o tots els mètodes. Si no s'implementen tots els mètodes abstractes, aquesta classe també esdevé una classe abstracta.

Recomanat: