java class vs object how use class
I denne opplæringen vil vi diskutere et av OOPS-konseptene i detalj. Vi vil utforske alt om Java klasse og objekt sammen med eksempler:
Vi vet at objektorientert programmering vektlegger data og dermed dreier seg om enheter som kalles objekter. Klasser fungerer som tegninger av disse gjenstandene.
La oss se hvordan du lager en klasse og dens komponenter. Vi vil også lære å lage og initialisere objekter i Java ved hjelp av programmeringseksempler senere i denne opplæringen.
=> Besøk her for den eksklusive opplæringsserien for Java Training.
Hva du vil lære:
Klasser og objekter i Java
I Java er alle funksjoner, attributter, metoder osv. Knyttet til klasser og objekter. Vi kan ikke skrive et Java-program bare med hovedfunksjonen uten å erklære en klasse slik vi kan gjøre i C ++.
For eksempel, hvis vi ønsker å skrive et program på et kjøretøy, er et kjøretøy et objekt i sanntid. Men kjøretøy kan være av forskjellige typer. Dette betyr at kjøretøyet har et typeattributt som kan anta forskjellige verdier som bil, lastebil, scooter, sykkel, etc.
Så måten vi uttrykker kjøretøyobjektet på Java på er å lage en klasse 'Vehicle' og deretter definere dens forskjellige attributter. Da kan vi erklære forskjellige gjenstander i kjøretøyklasse som bil, sykkel osv.
Inne i klassen kan vi definere egenskapene til Vehicle som klasseattributtene (data-medlemmer) og metoder som startVehicle (), stopVehicle (), etc.
På denne måten, for å uttrykke selv den minste av enheten i Java, må vi først identifisere objektet og deretter definere tegningen eller en klasse.
Så la oss først lære alt om klasser og objekter, og deretter gå videre til de andre konseptene i OOP i Java.
Klasse i Java
For å utvikle et program i Java bruker vi objekter og klasser. Mens en klasse i Java bare er en logisk enhet, er et objekt i Java både en fysisk og logisk enhet.
Hva er et objekt i Java?
Et objekt er en enhet som har en tilstand og viser atferd. For eksempel, alle virkelige enheter som en penn, en bærbar datamaskin, en mobil, et bord, en stol, en bil, etc. er et objekt. Alle disse objektene er enten fysiske (håndgripelige) eller logiske (immaterielle).
De immaterielle objektene er for det meste et flyselskapssystem, banksystem osv. Dette er logiske enheter som har en bestemt tilstand og atferd.
Hvert objekt har følgende hovedegenskaper:
- Identitet: En unik ID definerer objektidentiteten. Denne ID-en blir ikke sett av den vanlige brukeren, men internt bruker JVM denne ID-en til å identifisere objektet unikt.
- Stat: Den definerer nåværende data i objektet eller verdien av objektet.
- Oppførsel: Denne funksjonen representerer funksjonen (oppførselen) til et objekt. For eksempel, Kjøretøyobjektet vi diskuterte ovenfor har oppførselen som start, stopp, etc.
Vi vil se på objektdefinisjonen når vi definerer klassen.
Så hva er en klasse?
Vi vet at hovedkomponenten i objektorientert programmering er et objekt. Hvis vi vil bygge en bestemt type gjenstand, trenger vi en tegning. Denne tegningen vil gi oss et sett med instruksjoner som vil hjelpe oss med å bygge et objekt.
For eksempel, la oss si at vi vil bygge et hus. Huset her er et objekt. For å bygge et hus trenger vi en første tegning for huset. Vi kan ikke gå direkte til å bygge huset slik vi vil.
Det er her klassen kommer inn i bildet. Så for å bygge et objekt eller en virkelig enhet, vil vi først ha en blåkopi som bestemmer innholdet og oppførselen til et objekt. Dette er kjent som en klasse i objektorientert programmering.
Så en klasse kan defineres som “ en tegning eller en mal, og den definerer tilstanden og oppførselen til objektet ”.
Vi kan også se klassen som en gruppe objekter. Denne gruppen har noen egenskaper som er vanlige blant alle objektene.
La oss se hvordan du lager en klasse i Java.
hvordan åpne shockwave flash-objekt
Hvordan lage en klasse i Java
Den generelle klassesyntaksen til en klassedefinisjon i Java er:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Ovennevnte generelle erklæring om en klasse er representert i nedenstående diagram med et eksempel på klassedeklarasjon:
Merk at superklasse og grensesnitt i klassedeklarasjonen er valgfritt. Vi kan velge å ha en frittstående klasse uten å utvide den fra en annen superklasse eller implementere noe grensesnitt.
Ovennevnte generelle definisjon viste også komponentene som kan være til stede i klassedefinisjonen.
Komponenter i klassen
Komponentene i klassen er representert nedenfor.
Som vist i diagrammet ovenfor inneholder en Java-klasse følgende komponenter:
- Enger
- Metoder
- Konstruktører
- Blokker
- Nestet klasse og grensesnitt
Vi vil diskutere de tre første komponentene neste. Disse komponentene kreves i alle klasser. Nestede klasser og grensesnitt er et annet tema helt og vil bli diskutert i våre senere opplæringsprogrammer.
Før vi begynner å diskutere klassekomponenter, la oss først definere en klasse Customer_Account
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Enger
Felter er variabler eller data i klassen. Felt kalles også som medlemsvariabler i Java. Vi bruker begrepene felt og variabelt om hverandre.
Vanligvis er felt i en klasse av to typer:
# 1) Klassevariabler: Klassevariabler deklareres med ordet “statisk” slik at de er statiske variabler. Dette betyr at denne typen variabler bare har én kopi per klasse, uavhengig av hvor mange forekomster eller objekter som er til stede for den klassen.
# 2) Forekomstvariabler: Dette er det motsatte av klassevariabler. Datamedlemmene kalles forekomstvariabler fordi disse variablene har tildelt separat minne for hver klasseinstans ved kjøretid.
I klassedefinisjonen ovenfor har vi vist både klasse- og forekomstvariabler. Variabelen “banknavn” erklært med en statisk modifikator er klassevariabelen. De to andre variablene “customer_accNo” og “customer_name” er instansvariabler.
Bygger
Konstruktører er spesielle metoder som vanligvis brukes til å initialisere en forekomst av en klasse. Konstruktører har ikke returtype, de har samme navn som klassen, og inneholder eller kan ikke inneholde parametere.
I klassedefinisjonen ovenfor har vi en konstruktør.
Customer_Account (long accountnum, String accName)
Vi vil lære mer om konstruktører i våre påfølgende opplæringsprogrammer.
Metode
En metode i en Java-klasse er funksjonen som definerer oppførselen til objektet og dets medlemmer.
En klassemetode opprettes på samme måte som vi lager vanlige metoder i et program. Inne i klassemetoden kan vi bruke alle konstruksjonene og funksjonene som tilbys av Java.
I vårt eksempel på klassedefinisjon har vi en “printInfo” -metode som viser de forskjellige datamedlemmene i klassen.
En Java-klassemetode har vanligvis følgende prototype:
method_name(parameter list…){ //code blocks }
Klassemetoder er tilgjengelig av klasseinstansen ved hjelp av prikkoperatøren. Så hvis vi oppretter en forekomst av klassen 'Customer_Account' ovenfor, kan vi få tilgang til printInfo ved hjelp av nedenstående kodelinje.
acc.printInfo();
Hvis access_modifier er statisk, trenger vi ikke en forekomst for å få tilgang til metoden. Vi kan bruke klassenavnet direkte for å få tilgang til metoden som,
Custome_Account.printInfo ();
Java Class Eksempel
La oss implementere et enkelt eksempel for å demonstrere en klasse og et objekt i Java.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produksjon
Ovennevnte program erklærer en studentklasse. Den har tre instansvariabler, nemlig. student_id, student_name og student_marks.
Deretter definerer vi hovedklassen, der vi erklærer et objekt for studentklassen som heter student_object. Deretter bruker vi prikkoperatøren, får vi tilgang til forekomstvariablene og skriver ut verdiene deres.
Ovennevnte program er et eksempel på en hovedmetode utenfor klassen.
I eksemplet nedenfor vil vi ha en hovedmetode innen klassen.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produksjon
Ovennevnte program er det samme som forrige program, bortsett fra at hovedmetoden er innenfor studentklassen.
Objekt i Java
Nå har vi nok kunnskap om klasser i Java, vi kan omdefinere objektet når det gjelder klasse. Så et objekt er “ en forekomst av en klasse ”. Dermed lager vi en variabel eller forekomst av typen class_name, og den betegnes som et objekt.
overføring av en matrise til en metode java
Noen punkter å huske på et objekt:
- Et objekt blir sett på som en grunnleggende enhet for OOP sammen med klassen.
- Et objekt er en kjøretidsenhet.
- Et objekt betegnes som en forekomst av en klasse.
- Et objekt har atferd og tilstand.
- Et objekt tar alle egenskapene og attributtene til klassen det er en forekomst av. Men når som helst har hvert objekt forskjellige tilstander eller variable verdier.
- Et objekt brukes til å representere en sanntidsenhet i programvareapplikasjoner.
- En enkelt klasse kan ha et hvilket som helst antall objekter.
- Objekter samhandler med hverandre ved å påkalle metoder.
Hvordan Instantiate et objekt
Erklæring om objektet blir også betegnet som en instantiering av objekter i Java. Erklæringen til et objekt er den samme som å erklære en variabel.
For eksempel, Klassen Customer_Account som vi har erklært ovenfor kan brukes til å erklære et objekt.
Dermed erklærer eller instantierer vi objektet til Customer_Account som følger:
Customer_Account account;
Ovennevnte uttalelse erklærer eller instantierer et objekt som heter ‘konto’ i klassen Customer_Account.
Merk at når vi instantierer et objekt fra en klasse, bør klassen strengt tatt være en 'konkret klasse'. Vi kan ikke erklære et objekt av en abstrakt klasse.
Ovennevnte uttalelse kun erklærer et objekt. Vi kan ikke bruke denne variabelen til å kalle metoder for klassen eller sette verdier for medlemsvariablene. Dette er fordi vi ikke har tildelt noe minne for det deklarerte objektet.
Så vi må lage et objekt riktig for å bruke det videre.
Selve etableringen av et objekt gjøres ved initialisering av objekter. Når vi har erklært et objekt, må vi initialisere det. Så bare vi kan bruke dette objektet for å få tilgang til medlemsvariablene og metodene i klassen.
Hvordan lage et objekt
Vi kan lage et objekt i Java ved hjelp av følgende metoder:
# 1) Bruke et nytt søkeord
Vi kan initialisere et objekt ved å bruke et nytt nøkkelord. Denne metoden er den mest brukte metoden for å lage et nytt objekt.
For eksempel,gitt en klasse ABC, kan vi opprette et nytt klasseobjekt som følger:
ABC myObj = new ABC ();
I uttalelsen ovenfor er myObj det nye objektet som ble opprettet ved hjelp av den nye operatøren. Objektet opprettet ved hjelp av denne metoden har de opprinnelige verdiene til alle datamedlemmene. Konstruktionen ABC () etter det nye nøkkelordet er standardkonstruktøren for klassen ABC.
Vi kan også definere konstruktører med parametere og kalle konstruktøren med det nye nøkkelordet, slik at vi lager et objekt med de ønskede verdiene til datamedlemmer.
# 2) Bruke Class.forName () -metoden
Java tilbyr en klasse med navnet 'Klasse' som holder all informasjon om klasser og objekter i systemet. Vi kan bruke metoden forName () i klassen 'Class' for å lage et objekt. Vi må sende et fullt kvalifisert klassenavn som et argument til forName-metoden.
Så kan vi kalle metoden newInstance () som returnerer forekomsten av klassen.
Følgende kodelinjer viser dette.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Ovennevnte uttalelse vil opprette et nytt objekt myObj av klasse ABC.
# 3) Ved klon () Metode
Objektklasse i Java gir en klone () -metode som returnerer klonen eller kopien av objektet som er sendt som et argument til klon () -metoden.
For eksempel,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Ved deserialisering
Java gir en teknikk som kalles deserialisering der vi leser et objekt fra en lagret fil. Vi lærer deserialisering i en egen opplæring.
Hvordan initialisere et objekt
I denne delen vil vi diskutere metodene for å initialisere et objekt i Java. Initialisering refererer til tildeling av verdier til datamedlemmer i klassen. Nedenfor er noen av metodene som brukes til å initialisere objekter i Java.
# 1) Initialiser et objekt gjennom en referanse
Referanseobjektet som er opprettet, brukes til å lagre verdier i objektet. Dette gjøres ganske enkelt ved å bruke en oppdragsoperatør.
Initialiseringen av et objekt ved hjelp av referanse er vist i programmet nedenfor.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produksjon
Ovennevnte program erklærer en studentklasse med tre-medlemsvariabler. Så i hovedmetoden lager vi et objekt av studentklassen ved hjelp av det nye nøkkelordet. Deretter tilordner vi data til hvert av medlemsfeltene til objektet som vist i programmet.
# 2) Initialisering av objekt gjennom metode
I dette eksemplet lager vi de to objektene i studentklassen og initialiserer verdien til disse objektene ved å påkalle insertRecord-metoden. Metoden insertRecord er en medlemsmetode for klassen Student.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produksjon
# 3) Initialisering av objekt gjennom Constructor
Vi kan også initialisere et objekt ved å bruke en konstruktør.
konverter YouTube-video til MP4 gratis
Programmet for å demonstrere bruken av konstruktør er gitt nedenfor.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args[]){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produksjon
I dette programmet har studentklassen en parameterisert konstruktør som tar parametrene og tildeler dem til medlemsvariablene.
Klasse Vs-objekt i Java
Klasse | Gjenstand |
---|---|
Et felt for klassemedlemmer har ingen verdier. | Hvert objekt har en kopi av medlemsfelt og tilhørende verdier. |
Klasse er en mal eller en tegning for oppretting av objekter. | Objektet er en forekomst av en klasse. |
Klassen tildeler ikke noe minne når det opprettes. | Objektet tildeles minne når det er opprettet. |
Klassen er en logisk enhet. | Objektet er en fysisk enhet. |
Klasse er erklært ved hjelp av et klassens søkeord. | Objektet er opprettet ved hjelp av nye metoder for forName () .newInstance (), klone (). |
Klasse er en gruppe identiske gjenstander. F.eks. Klassedyr (). | Objekt er en bestemt enhet. F.eks. Dyr hund = nye Dyr (); |
Klassen kan kun erklæres én gang. | En klasse kan ha et hvilket som helst antall forekomster eller objekter. |
ofte stilte spørsmål
Q # 1) Hva er forskjellen mellom klasse og objekt?
Svar: En klasse er en mal som brukes til å lage objekter. Et objekt er en forekomst av en klasse. Mens en klasse er en logisk enhet, er et objekt en fysisk enhet. Hvert objekt har en tilstand der alle medlemsvariablene har spesifikke verdier. Klassen har ingen stat.
Q # 2) Hva inneholder en Java-klasse?
Svar: En Java-klasse som fungerer som en mal eller en tegning for å lage objekter, definerer egenskaper eller felt og atferd eller metoder.
Spørsmål 3) Hvorfor bruker vi klasser i Java?
Svar: Ved hjelp av klasser og objekter kan vi modellere de virkelige applikasjonene i Java og dermed løse dem effektivt. Objekter med tilstand og oppførsel representerer virkelige enheter og klasser fungerer som deres tegninger. Derfor kan vi modellere ethvert komplekst program ved å bruke klasser som byggesteiner.
Q # 4) Forklar klasse og objekt med et eksempel fra virkeligheten.
Svar: Hvis vi tar bilen som et objekt, kan en bil ha attributter som merke, farge, motor, kjørelengde osv. Den kan også ha noen metoder som start (), stopp (), bruk bremser (). Dermed kan vi modellere en bil til et programvareobjekt. Nå kan bilen ha forskjellige merker som Maruti, fiat, etc.
Så for å representere alle disse bilmodellene, kan vi ha en klassemal som inneholder alle vanlige attributter og metoder definert slik at vi kan instantiere denne klassen og få ønsket bilobjekt.
Dermed kan en ekte objektbil lett konverteres til et objekt i Java.
Konklusjon
I denne opplæringen har vi lært detaljene i klasser og objekter i Java. Vi dekket definisjonen av klasse og objekt. Opplæringen har en detaljert diskusjon om å definere klassen, komponentene i klassen, samt eksemplene på hvordan du bruker klassen i et program.
Vi lærte også detaljene til objekter i Java, inkludert erklæring, oppretting, initialisering osv. Med passende programmeringseksempler.
Vi utforsket hovedforskjellene mellom klasse og objekter. I de neste veiledningene vil vi diskutere hvilke typer klasser og konstruktører i klassen, hvoretter vi vil gå videre til andre emner.
=> Se opp den enkle Java-treningsserien her.
Anbefalt lesing
- Java Basics: Java Syntax, Java Class og Core Java Concepts
- Java Integer og Java BigInteger Class med eksempler
- Hva er Java Vector | Java Vector Class Tutorial med eksempler
- OOP Java: Introduksjon til objektorientert programmering i Java
- Java Array Class Tutorial - java.util.Arrays Class med eksempler
- Java-skannerklasseopplæring med eksempler
- Array of Objects In Java: Hvordan lage, initialisere og bruke
- Typer klasser i Java: Abstrakt, Betong, Endelig, Statisk