ComputersSoftware

Abstracte klasse en methode: de beschrijving, kenmerken en functies. Wat is anders dan de abstracte klasse-interface

Iedereen die elke weinig kennis in de programmering, afvragen waarom er abstracte basisklassen. Wat is hun doel? Hoe maak je een abstracte klasse te maken? Wat zijn de voordelen die ze bieden in de praktijk? Waarom ze nodig zijn in de programmering en sommige functies van de uitvoering ervan moet rekening worden gehouden?

abstracte klassen

Dus in de programmering opgeroepen eenheid code op basis waarvan de objecten niet kan worden gemaakt. Opgemerkt wordt dat deze klasse van opvolgers niet abstract kan zijn. Daarom is het creëren van objecten op basis van hen is heel goed mogelijk. Als we kijken naar het voorbeeld van Java, bouwen we een model dat we het constructeurskampioenschap in de klasse A. kan beschrijven, maar om ze te gebruiken, kunnen we niet. Zoals uit deze situatie is om een variabele referentie verklaren. En je moet duidelijk worden gedefinieerd, zodat het wijst op een object van de klasse A. Dit is hoe het kan worden gedaan? Dit zal ons helpen brengen. Hierbij moet worden bedacht dat de ouder klasse altijd wordt beschouwd als veelzijdiger dan de afstammeling te zijn. In veel programmeertalen gebruikt om automatisch te brengen. Maar als er geen vertrouwen in de aanwezigheid van een dergelijk mechanisme, dan moet u expliciet verwijzen naar het object.

abstracte methodes

Wat zijn dat? Abstract oproep die methoden die niet in deze klasse worden uitgevoerd. Aldus volgende haakjes (de argumenten die daarin toegepaste bevat) niet gevormde opening (waarna gelokaliseerd blok beschrijving van de methode) en slechts een puntkomma geven. Dus in dit geval, is er geen informatie over wat het doet. Hier kan de vraag gesteld worden: "En welke methode zonder implementatie?" Immers, hij is niet te gebruiken! Natuurlijk, in de klas, waar hij werd beschreven, is dit niet mogelijk. Maar als we kijken naar de situatie vanuit het oogpunt van een nakomeling, kan het worden genoemd. En het zal werken op een specifieke omschrijving in deze klasse.

Features abstract methoden

Er zijn beperkingen in het gebruik ervan. Laten we eens kijken naar het voorbeeld van de Java-programmeertaal. Er is een vereiste om de klas minstens één dergelijke werkwijze moet abstract zijn. En in ieder geval is het gepast om een dergelijke constructie gebruiken? Laten we begrijpen dit met een voorbeeld klasse huisdieren. Om te beginnen te begrijpen dat er geen geluid dat ze gepubliceerd worden. Daarom is in de meest algemene klasse is niet ingesteld goede uitvoering van de methode. Maar ingestelde instantie die uit elkaar via de blokken voor hem. En in de volgende, bij het maken van hond klasse, kat of hamster zal worden voorgeschreven een enkele methode voor het, in het kader waarvan alle functies worden gemaakt.

interface

In de programmering creëerde veel tools waarvan het doel - om mensen te helpen een goede kwaliteit van het product. En het onderwerp onder de aandacht moet worden besteed aan dit aspect, en dat iedereen weet tegenstelling tot een abstracte klasse van de interface. Dus, de laatste functie is dat het niet kan worden de eigenschappen en methoden zijn niet gedefinieerd lichaam. Bij de behandeling van het verschil tussen een abstracte klasse van de interface, moet meer op één specifiek wonen. Aldus wordt de eerste overgeërfd, terwijl de tweede - gerealiseerd. Onervaren persoon kan onbelangrijk lijken. Maar het feit is, dat kan worden overgenomen slechts één klasse, en besefte - zo veel als nodig. Dat is wat anders dan de interface van de abstracte klasse. Java is nog steeds de functies die het kan alleen worden beschreven abstract openbare methoden en statische constanten. Maar op hetzelfde interfaces kan ook worden overgenomen. Het is noodzakelijk om erop te wijzen dat de gebruikte operatoren zijn publiek via het openbaar.

Meervoudige overerving van interfaces

Deze functie is niet beschikbaar voor de klassen in vele programmeertalen (bijvoorbeeld Java beschouwd door ons). Dit is te wijten aan een aantal problemen. Als zodanig dubbelzinnigheden aan dat achtereen optreden. Dit was de reden voor de invoering van multiple-interface overerving. Dit lost gedeeltelijk de bestaande problemen, maar niet allemaal. Dus, dankzij de principes van inkapseling en polymorfisme, interfaces kunnen worden met succes in verschillende klassen geïmplementeerd volgens verschillende methoden (hoewel ze dezelfde naam hebben). Maar vergeet niet over de bestaande problemen. Dus, bij het werken met meerdere interfaces moet altijd aangeven wie we in gedachten hebben. Ook zal de problemen zijn en wanneer u probeert te werken met dezelfde naam op twee manieren - in dit geval, zullen ze niet in staat zijn om te profiteren van. Daarom is in dergelijke gevallen is het noodzakelijk om te zorgen voor de aanwezigheid van de totale omzet.

abstracte gegevens

Dit concept is de sleutel tot het programma. In dit geval dient de abstractie van een onafhankelijke beoordeling en begrijpen van de scheiding van interface en implementatie. Laten we eens kijken naar een voorbeeld. We hebben een televisie, die is een object of module. Het heeft een interface. Als zodanig zijn zij de controles, evenals geluid en beeld. Hoe meer perfecte interface wordt gebruikt, hoe comfortabeler de gebruikte tv. We kunnen schakelen tussen programma's door op een willekeurige knop te drukken. In dit geval is er geen noodzaak om na te denken over de fysieke processen in de TV. Zorg voor hen specialisten, die het apparaat te verzamelen. Wij willen mensen in onroerend goed alleen geïnteresseerd. Terugkerend naar de programmering, kunnen we zeggen dat ze op een gelijkaardige interface en implementatie. Ook als een persoon heeft er alle vertrouwen in zijn kennis, hij kan "verwijderen" te dekken onze hypothetische TV en om het te verbeteren. Hoewel dit kan leiden tot lokale succes, in de meeste gevallen, het eindresultaat is negatief. Daarom, in de ondersteunde programmering verbod op toegang en de inwendige onderdelen van abstracte gegevens te verbergen. Het principe van dit mechanisme voorziet in een manier om de opzettelijke of onbedoelde verstelling van de interne componenten te voorkomen. En wanneer we spreken over abstracte data types, het gemiddelde van een set van een reeks bewerkingen die kunnen worden uitgevoerd op hen.

objecten

We hebben al gezien een abstracte klasse en de interface in het algemeen en het algemeen. Laten we nu detail het onze kennis. Om aandacht te besteden voorwerpen start. Onder hen, in het algemeen, zich bewust van de ecologische realiteit die in ruimte en tijd bestaat. Maar formeel voorwerpen te identificeren binnen het programma is het moeilijk (met de filosofische en theoretisch oogpunt). Daarom is het te wijten aan de eigenschappen. Als voorbeeld, de volgende: Een object kan uniek worden geïdentificeerd (met een unieke naam), het in een bepaalde toestand en gebruikt een bepaald gedragspatroon.

erfenis

Aangezien de programmering is gebaseerd op een hiërarchische structuur opbouwen van relaties tussen objecten, wordt de vraag gesteld over het feit dat de onderliggende eigenschappen van de types van de ouderlijke code bibliotheken werden overgebracht. Onder overerving begrijpen van de relatie wanneer iemand een het gedrag en de structuur van iets anders herhaalt. In het gewone leven, kan het overal te vinden. Zoals uitgesteld en programmeren relatief abstracte elementen. Ter vergelijking, het feit dat er geen lichaam als een vogel. Dit is een abstract naam. Als een specifiek geval leiden thee, Nightingale of mus. Dankzij de erfenis we de class libraries kunt gebruiken, evenals om ze te ontwikkelen voor een bepaald programma. Deze tool stelt ons in staat om nieuwe objecten te maken, gelijktijdig toe te voegen of het veranderen van de eigenschappen van een reeds gecreëerd. Erfgenaam krijgt alle methoden en velden van zijn voorvader en krijgt zijn eigen kenmerken, indien nodig. Vanwege het feit dat er abstracte elementen en het beginsel van erfgoed er ruime mogelijkheden voor modificatie binnen de objectgeoriënteerde programmering. Daarnaast is het mogelijk een flexibele aanpak voor het oplossen van problemen. Als je erft een nieuwe klasse van de overgedragen gegevens en functies.

polymorfisme

Het is noodzakelijk om dezelfde functie om verschillende soorten problemen op te lossen toe te passen. In dit geval zorgt de aanwezigheid van de mogelijkheid van een andere actie wordt de inhoud afhangen van het type object waarmee gewerkt wordt. Onder polymorfisme inzicht in de eigenschappen van de elementen die een gemeenschappelijke ouder hebben, vergelijkbaar met de semantische betekenis van het probleem op verschillende manieren uit te voeren. We tekenen een analogie met dieren. Er is actie - om te draaien. We weten allemaal hoe het gebeurt. Maar verschillende dieren (leeuw, olifant, chimpansee, krokodil, schildpad) deze actie zal worden uitgevoerd op verschillende manieren worden uitgevoerd. In dit geval, hun beweging verantwoordelijk is ontwikkelaar, die eventueel kunnen leiden tot een bijzonder geval een zekere routine, algoritme en de uitvoering ervan slagen. Dit wordt gedaan met behulp van een set methoden. Op hetzelfde moment in elke klasse programmer opgeeft welke eigenschappen die inherent zijn object. Iets wijzigen in het nageslacht, kunt u specifieke, gewenste actie in deze zaak te bereiken. Een dergelijk effect heet polymorfisme objecten. In het algemeen is een abstracte klasse is een uiterst nuttig hulpmiddel voor het programmeren.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 nl.unansea.com. Theme powered by WordPress.