Klass och objekt i Java

โšก Smart sammanfattning

Klass och objekt i Java รคr de centrala byggstenarna i objektorienterad programmering. En klass รคr en ritning som definierar fรคlt och metoder, medan ett objekt รคr en instans av den klassen. Denna resurs fรถrklarar bรฅda koncepten, deras skillnader och fungerande exempelprogram.

  • ๐Ÿงฑ Klass som ritning: En klass definierar de fรคlt och metoder som รคr gemensamma fรถr en viss typ av objekt.
  • ???? Objekt som instans: Ett objekt รคr en fristรฅende instans av en klass, som innehรฅller sina egna data och beteenden.
  • โš–๏ธ Huvudskillnad: En klass รคr en mall; ett objekt รคr ett konkret exemplar skapat frรฅn den mallen.
  • ๐Ÿ“ Designprinciper: Bra klasser fรถljer SOLID-principer fรถr underhรฅllbar objektorienterad kod.
  • ๐Ÿ’ป Exempel: Tvรฅ program visar en klass med main inuti och main placerad i en separat klass.

Klass och objekt i Java

Vad finns klasser och objekt i Java?

Klasser och objekt i Java รคr de grundlรคggande komponenterna i OOP. Ofta fรถrekommer det fรถrvirring mellan klasser och objekt. I den hรคr handledningen fรถrsรถker vi fรถrklara skillnaden mellan en klass och ett objekt i JavaLรฅt oss fรถrst fรถrstรฅ vad de รคr.

Vad รคr klass i Java?

A Klass รคr en ritning eller en uppsรคttning instruktioner fรถr att bygga en specifik typ av objekt. Det รคr ett grundlรคggande koncept inom objektorienterad programmering som kretsar kring verkliga enheter. En klass i Java bestรคmmer hur ett objekt ska bete sig och vad objektet ska innehรฅlla.

Syntax fรถr klass i Java

class <class_name> {
    field;
    method;
}

Vad รคr ett objekt i Java?

An ร„ndamรฅlet รคr en instans av en klass. Ett fรถremรฅl i OOP รคr inget annat รคn en fristรฅende komponent som bestรฅr av metoder och egenskaper fรถr att gรถra en viss typ av data anvรคndbar. Till exempel fรคrg, namn, tabell, vรคska eller skรคllande. Nรคr du skickar ett meddelande till ett objekt ber du objektet att anropa eller exekvera en av dess metoder som definieras i klassen. Ur programmeringssynpunkt kan ett objekt i OOP innehรฅlla en datastruktur, en variabel eller en funktion. Det har en allokerad minnesplats. Java objekt รคr utformade som klasshierarkier.

Objektsyntax in Java

ClassName ReferenceVariable = new ClassName();

Vad รคr skillnaden mellan objekt och klass i Java?

A Klass Inom objektorienterad programmering รคr en ritning eller prototyp som definierar variablerna och metoderna (funktionerna) som รคr gemensamma fรถr alla Java fรถremรฅl av ett visst slag.

An objektet i OOP รคr ett exempel pรฅ en klass. Programvaruobjekt anvรคnds ofta fรถr att modellera verkliga objekt som du hittar i vardagen.

Klicka hรคr. om videon inte รคr tillgรคnglig.

Klicka hรคr. om videon inte รคr tillgรคnglig

Fรถrstรฅ begreppet Java Klasser och objekt med ett exempel

Lรฅt oss ta ett exempel pรฅ utvecklingping ett husdjur ledningssystem, speciellt avsedd fรถr hundar. Du behรถver diverse information om hundarna, sรฅsom olika hundraser, รฅlder, storlek etc.

Du behรถver modellera verkliga varelser, dvs. hundar, till programvaruenheter.

Java Klasser och objekt

Dessutom รคr miljondollarfrรฅgan, hur designar man sรฅdan programvara?

Hรคr รคr lรถsningen: Lรฅt oss fรถrst gรถra en รถvning. Du kan se bilden pรฅ tre olika hundraser nedan.

Java Klasser och objekt

Stanna hรคr nu! Lista ner skillnaderna mellan dem.

Nรฅgra av de skillnader du kanske har listat kan vara ras, รฅlder, storlek, fรคrg etc. Om du tรคnker efter en stund รคr dessa skillnader ocksรฅ nรฅgra gemensamma egenskaper som delas av dessa hundar. Dessa egenskaper (ras, รฅlder, storlek, fรคrg) kan bilda dataelement fรถr ditt objekt.

Java Klasser och objekt

Lista sedan ut de vanliga beteendena hos dessa hundar som att sova, sitta, รคta, etc. Sรฅ dessa kommer att vara handlingar av vรฅra programvaruobjekt.

Java Klasser och objekt

Hittills har vi definierat fรถljande saker:

  • Klass -Hundar
  • Datamedlemmar or objekt โ€“ storlek, รฅlder, fรคrg, ras, etc.
  • Metoder โ€“ รคta, sova, sitta och springa.

Java Klasser och objekt

Nu, fรถr olika vรคrden pรฅ datamedlemmar (ras, storlek, รฅlder och fรคrg) i en Java klass fรฅr du olika hundfรถremรฅl.

Java Klasser och objekt

Du kan designa vilket program som helst med hjรคlp av denna OOP-metod. Nรคr man skapar en klass mรฅste man fรถlja dessa principer:

  • Single Responsibility Principle (SRP): En klass bรถr bara ha en anledning att fรถrรคndras.
  • ร–ppen stรคngd princip (OCP): Det borde vara mรถjligt att utรถka en klass utan att รคndra den.
  • Liskov Substitutionsprincip (LSP): Hรคrledda klasser mรฅste vara utbytbara fรถr sina basklasser.
  • Dependency Inversion Principle (DIP): Beroende pรฅ magmusklernatraction och inte pรฅ konkretioner.
  • Interface Segregation Principle (ISP): Fรถrbered finkorniga grรคnssnitt som รคr klientspecifika.

Klasser och objekt i Java Exempel program

// Class Declaration
public class Dog {
    // Instance Variables
    String breed;
    String size;
    int age;
    String color;

    // method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }

    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
}

Produktion:

Breed is: Maltese Size is:Small Age is:2 color is: white

Java Objekt och klass Exempel: huvudsaklig utanfรถr klass

I det fรถregรฅende programmet skapade vi main()-metoden inuti klassen. Nu skapar vi klassen och definierar main()-metoden i en annan klass. Detta รคr ett bรคttre sรคtt รคn det fรถregรฅende.

// Class Declaration
class Dog {
    // Instance Variables
    String breed;
    String size;
    int age;
    String color;

    // method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }
}
public class Execute {
    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
}

Produktion:

Breed is: Maltese Size is:Small Age is:2 color is: white

Vanliga frรฅgor

Ja. AI-assistenter kan bygga upp klasser, fรคlt, konstruktorer och metoder frรฅn en beskrivning i ett enkelt sprรฅk. Du bรถr fortfarande granska namngivning, inkapsling och logik fรถr att sรคkerstรคlla att den genererade koden passar din design.

AI-modeller kรคnner igen klassstrukturer fรถr att generera konsekventa objekt, fรถreslรฅ metoder och omstrukturera kod mot ren, objektorienterad design. Detta accelererar utvecklingen samtidigt som det hรฅllerping ansvarsomrรฅden vรคlorganiserade.

En konstruktor รคr en speciell metod som initierar ett nytt objekt nรคr det skapas. Den delar samma namn som klassen och har ingen returtyp, utan anger ofta initiala fรคltvรคrden.

De fyra pelarna รคr inkapsling, arv, polymorfism och abstracTillsammans strukturerar de objektorienterad Java program, som frรคmjar รฅteranvรคndbar, sรคker och underhรฅllbar kod byggd kring klasser och objekt.

Sammanfatta detta inlรคgg med: