Er zijn enkele andere verschillen die kunnen worden verklaard aan de hand van een vergelijkingstabel.
Vergelijkingstabel
Basis Ter vergelijking | KNAL | OOP |
---|---|---|
basis- | Procedure / structuurgericht. | Object georiënteerd. |
Nadering | Ondersteboven. | Onderkant boven. |
Basis | De belangrijkste focus ligt op "hoe de klus te klaren", dat wil zeggen op de procedure of structuur van een programma. | De belangrijkste focus ligt op 'gegevensbeveiliging'. Daarom mogen alleen objecten toegang krijgen tot de entiteiten van een klasse. |
Divisie | Groot programma is verdeeld in eenheden die functies worden genoemd. | Het volledige programma is onderverdeeld in objecten. |
Entity-toegang tot modus | Geen toegangsspecificatie waargenomen. | Toegangsspecificaties zijn "public", "private", "protected". |
Overbelasting / Polymorfisme | Noch functies voor overbelasting, noch operators. | Het overbelast functies, constructeurs en operatoren. |
Erfenis | Het is geen voorziening van erfenis. | Overerving bereikt in drie modi: publiek privaat en beschermd. |
Gegevens verbergen en beveiliging | Er is geen juiste manier om de gegevens te verbergen, dus gegevens zijn onveilig | Gegevens zijn verborgen in drie modi public, private en protected. vandaar dat de gegevensbeveiliging toeneemt. |
Het delen van gegevens | Globale gegevens worden gedeeld tussen de functies in het programma. | Gegevens worden gedeeld door de objecten via de ledfuncties. |
Vriendfuncties / klassen | Geen concept van vriendenfunctie. | Klassen of functies kunnen een vriend van een andere klas worden met het trefwoord "vriend". Opmerking: het trefwoord 'vriend' wordt alleen in c ++ gebruikt |
Virtuele klassen / functie | Geen concept van virtuele klassen. | Concept van virtuele functie verschijnt tijdens overerving. |
Voorbeeld | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Definitie van Object-oriented programming (OOP)
OOP's voornaamste zorg is om de gegevens te verbergen voor niet-lidfuncties van een klasse, die het als "kritieke informatie" behandelt. Gegevens zijn nauw verbonden met de lidfuncties van een klasse, die daarop actief is. Het staat niet toe dat een niet-lidfunctie de gegevens erin wijzigt. Objecten communiceren met elkaar via lidfuncties om toegang te krijgen tot hun gegevens.
OOP is ontwikkeld op basisbegrip "object", "klassen", "data-inkapseling of abstractie", "overerving" en "polymorfisme / overbelasting". In OOP kunnen programma's worden onderverdeeld in modules door gegevens en functies te partitioneren, die verder kunnen worden gebruikt als sjablonen voor het creëren van nieuwe exemplaren van modules, indien nodig.
Definitie van op procedures gebaseerde programmering (POP)
POP is een conventionele manier van programmeren. Procedurale programmering is waar de primaire focus ligt op het uitvoeren van de taak in een sequentiële volgorde. Stroomdiagram organiseert de controlestroom van het programma. Als het programma groot is, is het gestructureerd in enkele kleine eenheden, functies genaamd, die globale gegevens delen. Hier doet zich de zorg voor gegevensbeveiliging voor, omdat er een onbedoelde verandering in het programma is door functies.
Belangrijkste verschillen tussen OOP en POP
- POP is een proceduregericht programmeren terwijl OOP een objectgeoriënteerd programmeren is.
- De belangrijkste focus van POP ligt op "hoe om de taak gedaan te krijgen" het volgt het stroomschema om de taak gedaan te krijgen. OOP richt zich vooral op gegevensbeveiliging, omdat alleen de objecten van een klasse toegang hebben tot de kenmerken of functie van een klasse.
- De functies zijn kleine eenheden van de grote programma's die worden uitgevoerd om de hoofdtaak gedaan te krijgen. In OOP worden attributen en functies van de klasse verdeeld over de objecten.
- In POP is er geen specifieke toegangsmodus voor toegang tot attributen of functies in het programma, terwijl er in OOP drie toegangsmodi zijn: "public", "private", "protected", die worden gebruikt als een toegangsshare voor toegang tot attributen of functies .
- POP ondersteunt het concept van overbelasting / polymorfisme niet. OOP ondersteunt overbelasting / polymorfisme a, wat betekent dat u dezelfde functienaam gebruikt voor het uitvoeren van verschillende functies. We kunnen functies, constructors en operatoren overbelasten in OOP.
- Er is geen concept van overerving in POP, terwijl OOP overerving ondersteunt die het gebruik van het attribuut en de functies van een andere klasse mogelijk maakt door het over te nemen.
- POP is minder veilig in vergelijking met OOP omdat in OOP de toegangsspecificatie de toegang beperkt tot attributen of functies die de beveiliging verhogen.
- In POP wordt als sommige gegevens moeten worden gedeeld tussen alle functies in het programma globaal buiten alle functies gedeclareerd. In OOP is toegang tot het gegevenslid van de klasse mogelijk via de ledfuncties van de klasse.
- In POP is er geen concept van de vriendenfunctie, terwijl er in OOP een concept van vriendenfunctie is dat niet het lid van de klas is, maar omdat het lid van de vriend het toegang heeft tot het lid van de data en lidfuncties van de klasse.
- Er is geen concept van virtuele klassen in POP, terwijl de virtuele functies in OOP polymorfisme ondersteunen.
Conclusie
De tekortkomingen van POP komen voort uit de noodzaak van OOP. OOP corrigeert de tekortkomingen van POP door het introduceren van het concept "object" en "klassen". Het verbetert de gegevensbeveiliging en automatische initialisatie en opruimen van objecten. OOP maakt het mogelijk om meerdere instanties van het object te maken zonder enige interferentie.