Wat is OOP? - Principes met voorbeelden - Voordelen nadelen

Inhoudsopgave:

Anonim

Wat is OOP?

Object-Oriented Programming (of OOP) is een paradigma van programmeren waarbij programma's worden geschreven en gestructureerd rond objecten in plaats van functies of logica. Hier worden objecten gedefinieerd als gegevensvelden met unieke kenmerken en gedrag. Ze bevatten gegevens in de vorm van attributen en procedures in de vorm van methoden. Objectprocedures kunnen de gegevens in een object openen en wijzigen.

Er zijn veel OOP-talen, waarvan de meest populaire op klassen zijn gebaseerd, waarbij objecten een instantie van een klasse zijn. Een klasse is een container voor gegevens en procedures, ook bekend als gegevensleden en lidfuncties. Laten we een voorbeeld van een object als een auto beschouwen. Een auto heeft attributen zoals kleur, merknaam, brandstofcapaciteit, enz. En het heeft methoden om het gedrag van een auto weer te geven zoals een start, versnellen, breken, enz. Een klasse is een blauwdruk van attributen en methoden en neemt geen ruimte in beslag, totdat en tenzij een object voor die klasse is gemaakt.

Voorbeeld :

class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)

Object-georiënteerde programmeerdoelen om te implementeren in de programmering, real-world entiteiten zoals overerving, polymorfisme, inkapseling, enz. Die we in detail zullen zien. Het hoofddoel van OOP is het collectief binden van gegevens en de functies die erop werken, zodat deze gegevens alleen toegankelijk zijn voor die functie.

Principes van OOP

De vier hoofdprincipes van objectgeoriënteerd programmeren zijn inkapseling, abstractie, overerving en polymorfisme.

1. Inkapseling:

Het binden van gegevens en methoden in een enkele eenheid wordt inkapseling genoemd. Inkapseling wordt bereikt wanneer elk object binnen de klasse zijn status privé houdt. De gegevens in dit apparaat zijn niet toegankelijk voor externe objecten en alleen die functies binnen dit apparaat hebben hier toegang toe. Het object beheert dus zijn toestand met behulp van zijn methoden, en om met dit object te communiceren, hebben we de hulp van de openbare methoden van deze klasse nodig.

2. abstractie

Abstractie is een uitbreiding van inkapseling. Het betekent dat alleen de nodige informatie aan de buitenwereld wordt verstrekt, terwijl de interne details van de implementatie worden verborgen. Het onthult alleen de juiste bewerkingen voor andere objecten. Het voordeel hiervan is dat we de implementatie kunnen wijzigen zonder de klasse te beïnvloeden, omdat de methode-interface hetzelfde blijft.

Laten we het voorbeeld nemen van een rekenmachine, die de input van ons neemt, en met een druk op een knop ons de gewenste output geeft, terwijl we ons de interne details besparen over hoe het tot dat antwoord is gekomen.

3. Overerving

Vaak hebben objecten een vergelijkbare functionaliteit, maar delen ze een deel van de logica, maar verschillen ze in de rest. Dus hoe hergebruiken we de gemeenschappelijke logica en scheiden we de verschillende logica? Dit kan worden bereikt door overerving. Bij overerving creëren we een nieuwe klasse die als onderliggende klasse wordt genoemd en die is afgeleid van de bestaande klasse die de bovenliggende klasse wordt genoemd, waardoor een hiërarchie van klassen wordt gevormd. De onderliggende klasse hergebruikt de gegevensvelden en methoden die het nodig heeft van de bovenliggende klasse en implementeert zijn unieke functionaliteit zelf.

Een voertuig kan bijvoorbeeld een ouderklasse zijn, waaruit we kindklassen zoals Fiets en Auto kunnen afleiden. Ze hebben de gemeenschappelijke eigenschappen van het kunnen rijden op brandstof en passagiers vervoeren, maar verschillen in het aantal passagiers dat ze kunnen vervoeren en meer van dergelijke eigenschappen.

4. Polymorfisme

Polymorfisme is het vermogen om meer dan één vorm aan te nemen. Stel dat we een ouderklasse hebben en een paar van de kindklassen. Nu willen we attributen van zowel de ouder- als de kindklassen gebruiken, dus hoe wordt dit bereikt? Dit kan worden gedaan met behulp van polymorfisme. In Polymorphism worden abstracte entiteiten op meerdere manieren uitgevoerd. Het geeft een manier om een ​​klas te consumeren precies zoals de ouderklasse, zodat er geen verwarring is met het mengen van het type klassen, en elke kindklasse blijft zijn methoden houden zoals het was. Dit kan worden gedaan door een ouderinterface opnieuw te gebruiken zodat de onderliggende klasse deze methoden in hun eigen versie kan implementeren.

Voordelen van objectgeoriënteerd programmeren

  • Een real-world idee kan worden gedemonstreerd, omdat alles in OOP als een object wordt behandeld.
  • Omdat we het concept van inkapseling gebruiken, zijn programma's gemakkelijker te testen en te onderhouden.
  • Er vindt een snellere ontwikkeling van code plaats, aangezien we klassen parallel in plaats van sequentieel ontwikkelen.
  • OOP biedt meer beveiliging door gegevensabstractie. De buitenwereld heeft geen toegang tot de verborgen gegevens.
  • Herbruikbaarheid kan worden bereikt door klassen te gebruiken die al zijn geschreven.

Nadelen van objectgeoriënteerd programmeren

  • Een programma ontwerpen met het OOP-concept kan lastig zijn.
  • Een programmeur moet vooraf plannen voor het ontwikkelen van een programma in OOP.
  • De omvang van programma's ontwikkeld met OOP is groter dan die ontwikkeld met een procedurele aanpak.
  • Omdat OOP-programma's groter zijn, is de uitvoeringstijd voor deze programma's ook meer.

Hoe kan Kennis van OOP helpen bij carrièregroei?

Veel van de belangrijkste populaire talen zoals Java en Ruby, gebruiken objectgeoriënteerde programmeerconcepten. OOP-talen helpen bij het schrijven van software voor applicaties zoals mobiele, web- en gaming-applicaties. Er zijn hoge inkomsten op deze gebieden, zoals de beste vacatures voor programmeurs om op deze gebieden te liggen. Het is gemakkelijk om met de basisprincipes van OOP over te stappen op verschillende technologieën en talen, en dit vergroot onze carrièremogelijkheden. Een nadeel hiervan is toevallig expertise. Meestal zoeken bedrijven naar praktische ervaring in OOP-talen en -concepten, dus het wordt aanbevolen om te oefenen tijdens het leerproces.

Conclusie

Object-georiënteerd programmeren vereenvoudigt het programmeerproces voor ons. Het heeft veel waarden, zoals herbruikbaarheid, efficiëntie en onderhoud van code. Hoewel het aanvankelijk misschien moeilijk is om de concepten van OOP te begrijpen, kan ik je verzekeren dat de vrucht de moeite waard zal zijn. Ik hoop dat dit artikel heeft geholpen bij het vereenvoudigen van die concepten voor jou!

Aanbevolen artikel

Dit is een gids geweest voor Wat is OOP? Hier hebben we de concepten, definitie en principes besproken met de voor- en nadelen van OOP. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Is Hadoop Open Source?
  2. Wat is Java-erfenis?
  3. Wat is multithreading in C #?
  4. Wat is ASP.Net Web Services?