Welcome to Our Website

OOPs concepten in Java

Object-oriented programming System(OOPs) is een programmeerparadigma gebaseerd op het concept van “objecten” die gegevens en methoden bevatten. Het primaire doel van objectgeoriënteerd programmeren is het vergroten van de flexibiliteit en onderhoudbaarheid van programma ‘ s. Objectgeoriënteerd programmeren brengt data en zijn gedrag(methoden) samen op een enkele locatie(object) maakt het makkelijker om te begrijpen hoe een programma werkt. We zullen elk kenmerk van OOPs in detail behandelen, zodat u geen moeilijk te begrijpen Oops-Concepten onder ogen zult zien.,

Oeps Concepten – Inhoud

  1. Wat is een Object
  2. Wat is een klasse
  3. Constructor in Java
  4. Object Oriented Programming Features
    • Abstractie
    • Inkapseling
    • Erfdeel
    • Polymorfisme
  5. Abstracte Klasse en Methodes
  6. Interfaces in Java

Wat is een Object


Object: een bundel van de gegevens en het gedrag(vaak bekend als methoden).

objecten hebben twee kenmerken: ze hebben toestanden en gedrag.,

voorbeelden van toestanden en gedrag
Voorbeeld 1:
Object: huis
Status: adres, Kleur, gebied
gedrag: open deur, sluit deur

dus als ik een klasse moest schrijven gebaseerd op toestanden en gedrag van huis. Ik kan het als volgt doen: toestanden kunnen worden weergegeven als instantievariabelen en gedragingen als methoden van de klasse. We zullen zien hoe je klassen kunt maken in de volgende sectie van deze gids.

class House { String address; String color; double are; void openDoor() { //Write code here } void closeDoor() { //Write code here } ... ...}

opmerking: zoals we hierboven hebben gezien, kunnen de toestanden en gedragingen van een object worden weergegeven door respectievelijk variabelen en methoden in de klasse.,

kenmerken van objecten:

Als u het moeilijk vindt om abstractie en encapsulatie te begrijpen, maak u geen zorgen, want Ik heb deze onderwerpen in detail behandeld met voorbeelden in de volgende sectie van deze gids.

  1. abstractie
  2. Encapsulation
  3. bericht doorgeven

abstractie: abstractie is een proces waarbij u alleen “relevante” gegevens toont en onnodige details van een object van de gebruiker” verbergt”.

Encapsulation: Encapsulation betekent simpelweg het samenbinden van objectstatus(velden) en gedrag (methoden). Als je Klasse creëert, doe je inkapseling.,

bericht doorgeven
Een enkel object op zichzelf kan niet erg nuttig zijn. Een toepassing bevat veel objecten. Een object interageert met een ander object door methoden op dat object aan te roepen. Het wordt ook wel methode aanroep genoemd. Zie het diagram hieronder.

Wat is een klasse in OOPs-Concepten

Een klasse kan worden beschouwd als een blauwdruk waarmee u zoveel objecten kunt maken als u wilt. Hier hebben we bijvoorbeeld een klasse Website die twee gegevensleden heeft (ook bekend als velden, instance variabelen en objecttoestanden)., Dit is slechts een blauwdruk, het vertegenwoordigt geen enkele website, maar met behulp van deze kunnen We website objecten (of instanties) die de websites vertegenwoordigt creëren. We hebben twee objecten gemaakt, terwijl het maken van objecten hebben we afzonderlijke eigenschappen aan de objecten met behulp van constructor.

Output:

beginnersbook 5google 18

Wat is een Constructor

Constructor ziet eruit als een methode, maar het is in feite geen methode. De naam is hetzelfde als de klassenaam en het retourneert geen waarde., U moet dit statement hebben gezien in bijna alle programma ‘ s die ik hierboven heb gedeeld:

MyClass obj = new MyClass();

Als u naar de rechterkant van dit statement kijkt, roepen we de standaard constructor van klasse myClass aan om een nieuw object (of instantie) aan te maken.

We kunnen ook parameters in de constructor hebben, dergelijke constructors staan bekend als geparametriseerde constructors.,

voorbeeld van constructor

uitvoer:

Chaitanya 30Steve 56

objectgeoriënteerde programmeerfuncties


deze vier functies zijn de belangrijkste OOPs-concepten die u moet leren om het objectgeoriënteerde programmeren in Java te begrijpen

Abstraction

Abstraction is een proces waarbij u alleen “relevante” gegevens toont en onnodige details van een object “verbergt” voor de gebruiker., Bijvoorbeeld, wanneer u online inlogt op uw bankrekening, voert u uw user_id en wachtwoord in en drukt u op login, wat er gebeurt wanneer u op login drukt, hoe de invoergegevens naar de server worden verzonden, hoe het wordt geverifieerd, is allemaal geabstraheerd weg van de U. Lees hier meer over: abstractie in Java.

Encapsulation

Encapsulation betekent simpelweg het samenbinden van objectstatus(velden) en gedrag (methoden). Als je Klasse creëert, doe je inkapseling.,

Encapsulation voorbeeld in Java

hoe
1) Maak de instance variabelen privé zodat ze niet direct van buiten de klasse kunnen worden benaderd. U kunt alleen waarden van deze variabelen instellen en krijgen door middel van de methoden van de klasse.
2) hebben getter en setter methoden in de klasse om de waarden van de velden in te stellen en te krijgen.

uitvoer:

No Of Employees: 5613

De klasse EncapsulationExample die het Object van klasse EmployeeCount gebruikt, zal de Noofememeesters niet direct kunnen krijgen., Het moet de setter en getter methoden van dezelfde klasse gebruiken om de waarde in te stellen en te krijgen.
dus wat is het voordeel van encapsulation in java programming
nou, op een bepaald moment, als je de implementatie details van de klasse EmployeeCount wilt veranderen, kun je dit vrij doen zonder de klassen die het gebruiken te beïnvloeden.

overerving

het proces waarbij een klasse de eigenschappen en functionaliteiten van een andere klasse verwerft, wordt overerving genoemd., Overerving biedt het idee van herbruikbaarheid van code en elke subklasse definieert alleen die functies die uniek zijn voor het, rest van de functies kunnen worden overgenomen van de bovenliggende klasse.

  1. overerving is een proces van het definiëren van een nieuwe klasse op basis van een bestaande klasse door het uitbreiden van de gemeenschappelijke gegevens leden en methoden.
  2. overerving staat ons toe om code te hergebruiken, het verbetert de herbruikbaarheid in uw java applicatie.
  3. de bovenliggende klasse wordt de basisklasse of superklasse genoemd. De kindklasse die de basisklasse uitbreidt wordt de afgeleide klasse of subklasse of kinderklasse genoemd.,

Opmerking: Het grootste voordeel van overerving is dat de code in de basisklasse niet hoeft te worden herschreven in de onderliggende klasse.
De variabelen en methoden van de basisklasse kunnen ook gebruikt worden in de onderliggende klasse.gebruik: overerving in Java

om een klasse te erven gebruiken we extensies keyword. Hier is Klasse A Kind klasse en klasse B is ouder klasse.

class A extends B{}

overerving voorbeeld

in dit voorbeeld hebben we een ouderklasse Teacher en een dochterklasse MathTeacher., In deMathTeacher klasse hoeven we niet dezelfde code te schrijven die al aanwezig is in de huidige klasse. Hier hebben we college name, designation en does() methode die gebruikelijk is voor alle leraren, dus MathTeacher class hoeft deze code niet te schrijven, de common Data members en methods kunnen geërfd worden van de Teacher class.,

uitvoer:

BeginnersbookTeacherMathsTeaching

opmerking: overerving op meerdere niveaus is toegestaan in Java, maar niet overerving op meerdere niveaus

typen overerving:
enkele overerving: verwijst naar een relatie tussen kind en ouder waarbij een klasse de andere klasse uitbreidt.

Multilevel overerving: verwijst naar een kind-en ouderklassenrelatie waarbij een klasse de kindklasse uitbreidt. Bijvoorbeeld Klasse A breidt klasse B uit en klasse B breidt klasse C.,

hiërarchische overerving: verwijst naar een kind-en ouderklassenrelatie waarbij meer dan één klasse dezelfde klasse uitbreidt. Bijvoorbeeld, klasse B breidt Klasse A uit en klasse C breidt klasse A.

meervoudige overerving: verwijst naar het concept van een klasse die meer dan één klasse uitbreidt, wat betekent dat een kindklasse twee ouderklassen heeft. Java ondersteunt niet meerdere overerving, lees er hier meer over.

De meeste nieuwe OO-talen zoals Small Talk, Java, C# ondersteunen geen meervoudige overerving. Meerdere overerving wordt ondersteund in C++.,

polymorfisme

polymorfisme is een objectgeoriënteerde programmeerfunctie die ons in staat stelt om een enkele actie op verschillende manieren uit te voeren. Bijvoorbeeld, laten we zeggen dat we een klasse Animal hebben die een methode animalSound() heeft, hier kunnen we geen implementatie geven aan deze methode omdat we niet weten welke Dierklasse Animal klasse zou uitbreiden., Dus we maken deze methode als volgt abstract:

public abstract class Animal{ ... public abstract void animalSound();}

stel nu dat we twee Dierklassen hebben Dog en Lion die Animal klasse uitbreidt. We kunnen de implementatie detail daar.

public class Lion extends Animal{... @Override public void animalSound(){ System.out.println("Roar"); }}

en

public class Dog extends Animal{... @Override public void animalSound(){ System.out.println("Woof"); }}

zoals u kunt zien waren er verschillende manieren om dezelfde actie te doen., Dit is een perfect voorbeeld van polymorfisme (functie die ons in staat stelt om een enkele actie uit te voeren op verschillende manieren).

typen polymorfisme
1) statisch polymorfisme
2) dynamisch polymorfisme

statisch polymorfisme:

polymorfisme dat tijdens de compilertijd wordt opgelost, wordt statisch polymorfisme genoemd. Methode overbelasting kan worden beschouwd als statisch polymorfisme voorbeeld.
Method Overloading: Hiermee kunnen we meer dan één methoden met dezelfde naam hebben in een klasse die verschilt in signature.,

Output:

aa 10

als ik method signature zeg, heb ik het niet over het return type van de methode, bijvoorbeeld als twee methoden dezelfde naam, dezelfde parameters hebben en een ander return type hebben, dan is dit geen geldig voorbeeld van methode die overbelast wordt. Dit zal compilatie fout gooien.

dynamisch polymorfisme

Het is ook bekend als dynamische methode Dispatch. Dynamisch polymorfisme is een proces waarbij een aanroep naar een overgeschreven methode wordt opgelost tijdens runtime eerder, dat is waarom het runtime polymorfisme wordt genoemd.,

voorbeeld

uitvoer:

Woof

aangezien zowel de klassen, dochterklasse als ouderklasse dezelfde methode hebben animalSound. Welke van de methode zal worden aangeroepen wordt bepaald tijdens runtime door JVM.

enkele meer doorslaggevende voorbeelden:

IS-a & heeft-A relaties

een auto IS-een voertuig en heeft-een licentie dan zou de code er als volgt uitzien:

public class Vehicle{ }public class Car extends Vehicle{ private License myCarLicense;}

abstracte klasse en methoden in OOPs Concepten

Abstracte methode:
1) A methode die is gedeclareerd maar niet gedefinieerd. Alleen methode handtekening geen lichaam.,
2) gedeclareerd met behulp van het abstracte sleutelwoord
3) Voorbeeld:

abstract public void playInstrument();

5) gebruikt om een soort dwang op de klasse te zetten die de klasse heeft abstracte methoden. De klasse die erft moet zorgen voor de implementatie van alle abstracte methoden van de ouderklasse anders de subklasse als abstract verklaren.
6) Dit kunnen geen abstracte

  • Constructors
  • statische methoden
  • Private methoden
  • methoden die “definitief”

worden verklaard abstracte klasse
Een abstracte klasse schetst de methoden, maar implementeert niet noodzakelijk alle methoden.,

abstract class A{ abstract void myMethod(); void anotherMethod(){ //Does something }}

Opmerking 1: Er kunnen enkele scenario ‘ s zijn waarin het moeilijk is om alle methoden in de basisklasse te implementeren. In dergelijke scenario ‘ s kan men de basisklasse definiëren als een abstracte klasse die betekent dat deze basisklasse een speciaal soort klasse is die op zichzelf niet compleet is.

Een klasse die is afgeleid van de abstracte basisklasse moet de methoden implementeren die niet zijn geïmplementeerd(betekent dat ze abstract zijn) in de abstracte klasse.

Opmerking 2: abstracte klasse kan niet worden geinstantieerd, wat betekent dat u het object van abstracte klasse niet kunt maken., Als u deze klasse wilt gebruiken, moet u een andere klasse maken die deze abstracte klasse uitbreidt en voorziet in de implementatie van abstracte methoden, dan kunt u het object van die child class gebruiken om niet-abstracte parent class methoden aan te roepen, evenals geà mplementeerde methoden(die abstract waren in parent maar geïmplementeerd in child class).

opmerking 3: als een kind niet alle abstracte methoden van ouderklasse(de abstracte klasse) implementeert, moet de onderliggende klasse abstract verklaard worden.,

voorbeeld van abstracte klasse en methoden

hier hebben we een abstracte klasse dier dat een abstracte methode animalSound () heeft, omdat het dierlijke geluid verschilt van het ene dier tot het andere, heeft het geen zin om de implementatie van deze methode te geven aangezien elke kind Klasse deze methode moet overschrijven om zijn eigen implementatiedetails te geven. Daarom hebben we het abstract gemaakt.
nu moet elk dier een geluid hebben, door deze methode abstract te maken hebben we het verplicht gemaakt voor de kinderklasse om details over de implementatie van deze methode te geven. Zo zorgen we ervoor dat elk dier een geluid heeft.,

uitvoer:

Woof

Interfaces in Java

een interface is een blauwdruk van een klasse, die kan worden gedeclareerd met behulp van interfacesleutelwoord. Interfaces kunnen alleen constanten en abstracte methoden bevatten (methoden met alleen handtekeningen en geen lichaam).Net als abstracte klassen kunnen Interfaces niet worden geà nstalleerd, ze kunnen alleen worden geà mplementeerd door klassen of uitgebreid door andere interfaces. Interface is een veelgebruikte manier om volledige abstractie in Java te bereiken.,

opmerking:

  1. Java ondersteunt geen meervoudige overerving, maar een klasse kan meer dan één interfaces implementeren
  2. Interface is vergelijkbaar met een abstracte klasse, maar het bevat alleen abstracte methoden.,
  3. de Interfaces zijn gemaakt met behulp van trefwoord interface in plaats van het trefwoord class
  4. We maken gebruik van implements sleutelwoord bij het implementeren van een interface(vergelijkbaar met het uitbreiden van een klasse met trefwoord extends)

– Interface: Syntaxis

class ClassName extends Superclass implements Interface1, Interface2, ....

Voorbeeld van de Interface:

Opmerking:

  1. Alle methoden in een interface impliciet openbaar en abstract. Gebruik het trefwoord abstract voordat elke methode optioneel is.
  2. een interface kan definitieve variabelen bevatten.,
  3. een klasse kan slechts één andere klasse uitbreiden, maar het kan elk aantal interfaces implementeren.
  4. wanneer een klasse een interface implementeert moet het de definitie geven van alle abstracte methoden van interface, anders kan het gedeclareerd worden als abstracte klasse
  5. een interface verwijzing kan verwijzen naar objecten van zijn implementerende klassen.

generalisatie en specialisatie:
om het concept van overerving in een OOPs te implementeren, moet men eerst de gelijkenissen tussen de verschillende klassen identificeren om met de basisklasse te komen.,

Dit proces van het identificeren van de overeenkomsten tussen verschillende klassen wordt generalisatie genoemd. Generalisatie is het proces van het extraheren van gedeelde kenmerken uit twee of meer klassen, en het combineren ervan in een gegeneraliseerde superklasse. Gedeelde kenmerken kunnen attributen of methoden zijn.

in tegenstelling tot generalisatie betekent specialisatie het creëren van nieuwe subklassen uit een bestaande klasse. Als blijkt dat bepaalde attributen of methoden alleen van toepassing zijn op sommige objecten van de klasse, kan een subklasse worden gemaakt.,

Access Specifiers

wel, U moet publieke, private trefwoorden hebben gezien in de voorbeelden die ik hierboven heb gedeeld. Ze worden access specifiers genoemd omdat ze het bereik van een gegevenslid, methode of klasse bepalen.

Er zijn vier soorten toegangsspecificaties in java:
publiek: toegankelijk voor iedereen. Andere objecten kunnen ook toegang krijgen tot deze member variabele of functie.
privé: niet toegankelijk voor andere objecten. Privé-leden kunnen alleen worden benaderd via de methoden in dezelfde klasse. Object alleen toegankelijk in klasse waarin ze zijn gedeclareerd.,
protected: de scope van een beschermde variabele is binnen de klasse die het declareert en in de klasse die erft van de klasse (Scope is klasse en subklasse).
standaard: bereik is pakketniveau. We hoeven niet expliciet default te vermelden, omdat wanneer we geen access specifier vermelden, dit als default wordt beschouwd.,

Wat zullen we leren in de volgende tutorials over OOPs-Concepten

hoewel we hier bijna alle OOPs-Concepten hebben behandeld, maar wat we ook hebben geleerd in deze gids is kort, deze onderwerpen zijn breed en er is zoveel ruimte om deze onderwerpen in detail te leren met behulp van voorbeelden. Daarom heb ik elk onderwerp in detail behandeld, samen met voorbeelden en diagrammen in de volgende tutorials.
Hoe kun je de volgende tutorials op een sequentiële manier lezen? Er zijn een paar manieren om het te doen – 1) Tutorial links zijn voorzien in de linker zijbalk, gaan al ze in de gegeven volgorde.,
2) Ga naar de hoofdpagina van de Java tutorial met alle links naar de tutorials op de sequentiële manier.
Als u problemen ondervindt bij het begrijpen van deze OOPs-Concepten, laat dan hieronder een opmerking vallen en Ik zal zo snel mogelijk contact met u opnemen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *