OOP's Concepts in Java

Oeps concepten in Java

Wat is OOPS?

Objectgeoriënteerd programmeersysteem (OOP's) is een programmeerconcept dat werkt volgens de principes van abstractie, inkapseling, overerving en polymorfisme. Hiermee kunnen gebruikers objecten maken die ze willen en methoden creëren om met die objecten om te gaan. Het basisconcept van OOP's is om objecten te maken, deze in het hele programma te hergebruiken en deze objecten te manipuleren om resultaten te krijgen.

OOP, wat 'Objectgeoriënteerd programmeren' betekent, is een algemeen bekend en veel gebruikt concept in moderne programmeertalen zoals Java.

OOP's Concepts in Java met voorbeelden

Hieronder staan ​​algemene OOPs-concepten in Java:

1) Klasse

De klasse is een van de basisconcepten van OOPs, wat een groep van vergelijkbare entiteiten is. Het is slechts een logisch onderdeel en niet de fysieke entiteit. Laten we dit een van de OOPs begrijpen Concepts Als u bijvoorbeeld een klasse had met de naam 'Dure auto's', zou deze objecten kunnen hebben als Mercedes, BMW, Toyota, enz. De eigenschappen (gegevens) kunnen de prijs of snelheid van deze auto's zijn. Hoewel de methoden die met deze auto's kunnen worden uitgevoerd, zijn: rijden, achteruit rijden, remmen enz.

2) Voorwerp

Een object kan worden gedefinieerd als een instantie van een klasse, en er kunnen meerdere instanties van een klasse in een programma zijn. Een object is een van de Java OOPs-concepten die zowel de data als de functie bevatten, die op de data werkt. Bijvoorbeeld – stoel, fiets, stift, pen, tafel, auto, etc.

3) Erfenis

Erfenis is een van de basis Concepts aantal OOP's waarin één object de eigenschappen en het gedrag van het bovenliggende object verwerft. Het creëert een ouder-kindrelatie tussen twee klassen. Het biedt een robuust en natuurlijk mechanisme voor het organiseren en structureren van software.

4) Polymorfisme

polymorfisme verwijst naar een van de OOPs-concepten in Java dat is het vermogen van een variabele, object of functie om meerdere vormen aan te nemen. In het Engels bijvoorbeeld het werkwoord lopen heeft een andere betekenis als je het gebruikt met een laptop, een hardloopwedstrijden bedrijfsdeskundigen. Hier begrijpen we de betekenis van lopen gebaseerd op de andere woorden die ermee worden gebruikt. Hetzelfde gold ook voor het polymorfisme.

5) Abstractie

Abstractie is een van de OOP Concepts in Java wat een handeling is van het weergeven van essentiële kenmerken zonder achtergronddetails op te nemen. Het is een techniek om een ​​nieuw gegevenstype te creëren dat geschikt is voor een specifieke toepassing. Laten we deze ene van de OOP's begrijpen Concepts Als u bijvoorbeeld een auto bestuurt, hoeft u zich geen zorgen te maken over de interne werking ervan. Hier hoeft u zich alleen zorgen te maken over onderdelen zoals het stuur, de versnellingen, het gaspedaal, enz.

6) Inkapseling

Inkapseling is een van de beste Java OOPs-concepten van het inpakken van de data en code. In dit OOPs-concept zijn de variabelen van een klasse altijd verborgen voor andere klassen. Het kan alleen worden benaderd met behulp van de methoden van hun huidige klasse. Bijvoorbeeld: op school kan een student niet bestaan ​​zonder een klasse.

7) Associatie

Associatie is een relatie tussen twee objecten. Het is een van de OOP Concepts in Java die de diversiteit tussen objecten definieert. In dit OOP-concept hebben alle objecten hun afzonderlijke levenscyclus en is er geen eigenaar. Veel leerlingen kunnen zich bijvoorbeeld met één docent associëren, terwijl één leerling zich ook met meerdere docenten kan associëren.

8) Aggregatie

Bij deze techniek hebben alle objecten hun eigen levenscyclus. Er is echter sprake van eigenaarschap, zodat een kindobject niet tot een ander ouderobject kan behoren. Denk bijvoorbeeld aan de klasse/objecten afdeling en leraar. Hierbij kan één leraar niet tot meerdere afdelingen behoren, maar zelfs als we de afdeling verwijderen, wordt het leraarobject nooit vernietigd.

9) Samenstelling

Compositie is een gespecialiseerde vorm van aggregatie. Het wordt ook wel een ‘doodsrelatie’ genoemd. Onderliggende objecten hebben geen levenscyclus, dus als het bovenliggende object wordt verwijderd, worden alle onderliggende objecten ook automatisch verwijderd. Laten we daarvoor een voorbeeld nemen van Huis en kamers. Elk huis kan meerdere kamers hebben. Eén kamer kan geen onderdeel worden van twee verschillende huizen. Dus als u verwijdert, wordt de huiskamer ook verwijderd.

Voordelen van OOP's (Object-Oriented Programming System):

  • OOP's Concepts in Java bieden eenvoudig te begrijpen en een duidelijke modulaire structuur voor programma's.
  • Objecten die voor objectgeoriënteerde programma's zijn gemaakt, kunnen in andere programma's worden hergebruikt. Het bespaart dus aanzienlijke ontwikkelingskosten.
  • Het schrijven van grote programma's is lastig, maar als het ontwikkel- en ontwerpteam de OOPS-concepten volgt, kunnen ze betere ontwerpen maken met zo min mogelijk fouten.
  • Het verbetert de modulariteit van het programma omdat elk object onafhankelijk bestaat.

Vergelijking van OOPS met andere programmeerstijlen met behulp van een voorbeeld

Laten we met een voorbeeld begrijpen hoe Java OOP's Concepts zijn anders dan andere programmeerbenaderingen.

Programmeertalen kan worden ingedeeld in 3 primaire typen

  1. Ongestructureerde programmeertalen: De meest primitieve van alle programmeertalen met sequentiële controlestroom. De code wordt door het hele programma herhaald
  2. Gestructureerde programmeertalen: Heeft een niet-sequentiële stroom van controle. Het gebruik van functies maakt hergebruik van code mogelijk.
  3. Objectgeoriënteerde programmeertalen: Combineert gegevens en actie samen.

Klik hier als de video niet toegankelijk is

Laten we deze 3 typen begrijpen met een voorbeeld.

Stel dat u banksoftware wilt maken met functies als

  1. Statiegeld
  2. Intrekken
  3. Toon saldo

Ongestructureerde programmeertalen

De vroegste van alle programmeertalen was de ongestructureerde programmeertaal. Een zeer elementaire bankapplicatiecode in een ongestructureerde programmeertaal zal twee variabelen hebben: één rekeningnummer en een ander voor het rekeningsaldo

int account_number=20;
int account_balance=100;

Stel dat er een aanbetaling van 100 dollar wordt gedaan.

account_balance=account_balance+100

Vervolgens moet u het rekeningsaldo weergeven.

printf(“Account Number=%d,account_number)
printf(“Account Balance=%d,account_balance)

Nu wordt het bedrag van 50 dollar opgenomen.

account_balance=account_balance-50

Nogmaals, u moet het rekeningsaldo weergeven.

printf(“Account Number=%d,account_number)
printf(“Account Balance=%d,account_balance)

Ongestructureerde programmering

Voor elke verdere storting of opname moet u dezelfde regels steeds opnieuw herhalen.

Gestructureerd programmeren

Met de komst van gestructureerd programmeren werden herhaalde regels in de code in structuren zoals functies of methoden geplaatst. Wanneer dat nodig is, wordt de functie eenvoudig aangeroepen.

Gestructureerd programmeren

Object georiënteerd programmeren

In ons programma hebben we te maken met data of voeren we specifieke bewerkingen uit op de data. In feite is het hebben van data en het uitvoeren van bepaalde bewerkingen op die data een heel basaal kenmerk van elk softwareprogramma. Experts in softwareprogrammering dachten eraan om de data en Operations. Daarom is er de geboorte van Object Oriented Programming, wat gewoonlijk OOPS wordt genoemd. Dezelfde code in Object Oriented Programming-talen zal dezelfde data hebben en een bepaalde actie die op die data wordt uitgevoerd.

Class Account{
    int account_number;
    int account_balance;
public void showdata(){
    system.out.println(“Account Number”+account_number)
    System.out.println(“Account Balance”+ account_balance)
}
}

Object georiënteerd programmeren

Door data en actie te combineren, verkrijgen we veel voordelen ten opzichte van structurele programmering, namelijk:

  • Abstractie
  • Inkapseling
  • Erfenis
  • polymorfisme

Ze worden in de volgende tutorials uitgebreider besproken