Java – Objekt og klasser
Java er et objektorienteret sprog. Som et sprog, der har den objektorienterede funktion, understøtter Java følgende grundlæggende begreber –
- Polymorfisme
- Arv
- Indkapsling
- Abstraktion
- Klasser
- Objekter
- Forekomst
- Metode
- Meddelelse videregivet
I dette kapitel vil vi se på begreberne – Klasser og objekter.
-
Objekt – Objekter har tilstande og adfærd. Eksempel: En hund har tilstande – farve, navn, race såvel som opførsel – vifter med halen, bjeffer, spiser. Et objekt er en forekomst af en klasse.
-
Klasse – En klasse kan defineres som en skabelon / blueprint, der beskriver den adfærd / tilstand, som objektet af sin type understøtter.
Objekter i Java
Lad os nu se dybt ind i, hvad der er objekter. Hvis vi overvejer den virkelige verden, kan vi finde mange objekter omkring os, biler, hunde, mennesker osv. Alle disse objekter har en tilstand og en adfærd.
Hvis vi betragter en hund, så er dens tilstand er – navn, race, farve, og adfærd er – gøende, slynger halen, løber.
Hvis du sammenligner softwareobjektet med et objekt i den virkelige verden, har de meget lignende egenskaber.
Softwareobjekter har også en tilstand og en adfærd. Et softwareobjekts tilstand gemmes i felter, og adfærd vises via metoder.
Så i softwareudvikling fungerer metoder på den interne tilstand af et objekt, og kommunikation mellem objekt og objekt sker via metoder .
Klasser i Java
En klasse er en plan, hvorfra individuelle objekter oprettes.
Følgende er et eksempel på en klasse.
Eksempel
public class Dog { String breed; int age; String color; void barking() { } void hungry() { } void sleeping() { }}
En klasse kan indeholde en hvilken som helst af følgende variabeltyper.
-
Lokale variabler – Variabler definerede inde metoder, konstruktører eller blokke kaldes lokale variabler. Variablen erklæres og initialiseres inden for metoden, og variablen ødelægges, når metoden er afsluttet.
-
Instansvariabler – Instansvariabler er variabler inden for en klasse, men uden for en hvilken som helst metode. Disse variabler initialiseres, når klassen instantieres. Der kan fås adgang til instansvariabler indefra i enhver metode, konstruktør eller blokke af den pågældende cla ss.
-
Klassevariabler – Klassevariabler er variabler, der er deklareret inden for en klasse uden for enhver metode med det statiske nøgleord.
En klasse kan have et vilkårligt antal metoder til at få adgang til værdien af forskellige slags metoder. I ovenstående eksempel er gøen (), sulten () og sovende () metoder.
Følgende er nogle af de vigtige emner, der skal diskuteres, når man ser på klasser i Java-sproget.
Konstruktører
Når man diskuterer om klasser, ville et af de vigtigste underemner være konstruktører. Hver klasse har en konstruktør. Hvis vi ikke eksplicit skriver en konstruktør til en klasse, bygger Java-compileren en standardkonstruktør til den klasse.
Hver gang et nyt objekt oprettes, påkaldes mindst en konstruktør. Hovedreglen for konstruktører er, at de skal have samme navn som klassen. En klasse kan have mere end en konstruktør.
Følgende er et eksempel på en konstruktør –
Eksempel
public class Puppy { public Puppy() { } public Puppy(String name) { // This constructor has one parameter, name. }}
Java understøtter også Singleton-klasser, hvor du kun kan oprette en forekomst af en klasse.
Bemærk – Vi har to forskellige typer konstruktører. Vi vil diskutere konstruktører i detaljer i de efterfølgende kapitler.
Oprettelse af et objekt
Som nævnt tidligere giver en klasse tegninger til objekter. Så grundlæggende oprettes et objekt fra en klasse. I Java bruges det nye nøgleord til at oprette nye objekter.
Der er tre trin, når du opretter et objekt fra en klasse –
-
Erklæring – En variabel erklæring med et variabelnavn med en objekttype.
-
Instantiering – Det “nye” nøgleord bruges til at oprette objektet.
-
Initialisering – Det “nye” nøgleord efterfølges af et opkald til en konstruktør. Dette opkald initialiserer det nye objekt.
Følgende er et eksempel på oprettelse af et objekt –
Eksempel
Hvis vi kompilerer og kør ovenstående program, så producerer det følgende resultat –
Output
Passed Name is :tommy
Adgang til instansvariabler og -metoder
Instansvariabler og -metoder fås via oprettede objekter. For at få adgang til en instansvariabel er følgende den fuldt kvalificerede sti –
Eksempel
Dette eksempel forklarer, hvordan du får adgang til instansvariabler og metoder i en klasse.
Hvis vi kompilerer og kører ovenstående program, vil det producere følgende resultat –
Output
Name chosen is :tommyPuppy"s age is :2Variable Value :2
Kildefilerklæringsregler
Som den sidste del af dette afsnit, lad os nu se på kildefilerklæringsreglerne. Disse regler er vigtige, når deklarerer klasser, importerklæringer og pakkeerklæringer i en kildefil.
-
Der kan kun være en offentlig klasse pr. kildefil.
-
En kildefil kan have flere ikke-offentlige klasser.
-
Navnet på den offentlige klasse skal også være navnet på kildefilen, som skal tilføjes af .java i slutningen. F.eks.: klassens navn er offentlig klasse Medarbejder {} så skal kildefilen være som Employee.java.
-
Hvis klassen er defineret i en pakke, skal pakkeudtalelsen være den første sætning i kildefilen.
-
Hvis der findes importerklæringer, skal de skrives mellem pakkeerklæringen og klassedeklaration. Hvis der ikke er nogen pakkeerklæringer, skal importerklæringen være den første linje i kildefilen.
-
Import- og pakkeerklæringer vil betyde alle de klasser, der findes i kildefilen. . Det er ikke muligt at erklære forskellige import- og / eller pakkeerklæringer til forskellige klasser i kildefilen.
Klasser har flere adgangsniveauer, og der er forskellige typer klasser; abstrakte klasser, afsluttende klasser osv. Vi forklarer alle disse i kapitlet om adgangsmodifikatorer.
Bortset fra de ovennævnte typer klasser har Java også nogle specielle klasser kaldet Indre klasser og Anonyme klasser.
Java-pakke
I enkle ord er det en måde at kategorisere klasser og grænseflader på. Når der udvikles applikationer i Java, vil der blive skrevet hundreder af klasser og grænseflader, og det er derfor et must at kategorisere disse klasser og gøre livet meget lettere.
Importer udsagn
I Java, hvis en fuldt kvalificeret navn, der inkluderer pakken og klassens navn er givet, så kan kompilatoren let finde kildekoden eller klasserne. Importerklæring er en måde at give den korrekte placering for kompilatoren til at finde den pågældende klasse.
For eksempel vil følgende linje bede kompilatoren om at indlæse alle de tilgængelige klasser i kataloget java_installation / java / io –
import java.io.*;
En simpel casestudie
For vores casestudie opretter vi to klasser. De er medarbejder og medarbejdertest.
Åbn først notesblok, og tilføj følgende kode. Husk, dette er medarbejderklassen, og klassen er en offentlig klasse. Gem nu denne kildefil med navnet Employee.java.
Medarbejderklassen har fire instansvariabler – navn, alder, betegnelse og løn. Klassen har en eksplicit defineret konstruktør, der tager en parameter.
Eksempel
Som nævnt tidligere i denne vejledning starter behandlingen fra hovedmetoden. Derfor, for at vi kan køre denne medarbejderklasse, skal der være en hovedmetode, og objekter skal oprettes. Vi opretter en separat klasse til disse opgaver.
Den følgende er EmployeeTest-klassen, der opretter to forekomster af klassen Medarbejder og påberåber sig metoderne for hvert objekt til at tildele værdier til hver variabel.
Gem følgende kode i EmployeeTest.java-filen.
Kompiler nu begge klasser og kør derefter EmployeeTest for at se resultatet som følger –
Output
Hvad er næste?
I den næste session vil vi diskutere de grundlæggende datatyper i Java, og hvordan de kan bruges til udvikling af Java-applikationer.