lär dig programmering med Java

Du har antagligen hört termen objekt i ett programmeringskontext tidigare. Men vad betyder det egentligen? Låt oss börja med att titta på några verkliga objekt, som pennor, böcker, smartphones, datorer etc.

alla typer av objekt!
alla typer av objekt!

varje objekt finns i olika former och former, men du kan klassificera olika versioner av samma objekt i en kategori eller grupp. Det är därför du kan gå till en möbelaffär och känna igen olika föremål som ”stolar” även om de ser väldigt olika ut från varandra.

du känner igen alla dessa olika objekt som en del av samma grupp eller typ. Du märker likheter mellan olika objekt, samlar in informationen och skapar en mental representation för en viss kategori av objekt.

till exempel finns det olika typer av böcker där ute, men de tenderar alla att ha en titel, en författare, ett omslag, sidor etc. Med andra ord har enskilda böcker alla liknande attribut som gör att du kan klassificera dem i ditt sinne som en del av kategorin ”bok.”

böcker av olika storlekar, färger och längder
böcker av olika storlekar, färger och längder

denna mentala lista över attribut som vi just har beskrivit för en bok fungerar som en slags ritning för det objektet. I programmering kallas det en klass. När du skapar en klass kan du komma med något anpassat namn, varför de kallas en namngiven typ. Som du ser Kan du också gruppera massor av detaljer tillsammans, vilket också är anledningen till att de kan kallas komplexa typer. Å andra sidan har de enkla typerna du redan känner till, som int eller double, namn som är fördefinierade av programmeringsspråket och kan inte ändras.

hur kommer vi fram till klassnamn?

i likhet med namngivningsvariabler måste klassnamn vara beskrivande och stavade ut (kom ihåg, Undvik förkortningar!). En viktig skillnad är att i stället för att använda standard camelCase, bör den första bokstaven också vara kapital som MarvelousCreature och inte marvelousCreature.

designa klasser

för att se hur man utformar en klass, låt oss fortsätta med bokexemplet. Nedan, vi har identifierat ett urval av information som kan beskriva en viss bok:

  • Titel

  • författare

  • antal sidor

  • utgivare

det är attribut för alla böcker i verkliga livet. I samband med klasser kallas dessa attribut fält i Java. Fälten i en klass är helt enkelt ett fint namn för något du redan är bekant med: variabler!

nu har du teorin, så låt oss skriva detta skriftligt!

för att deklarera en klass i Java, använd ett nyckelord class följt av ett anpassat namn. Därefter avslutar du det med lockiga hängslen ({}) som kommer att omfatta hela innehållet. Detta inkluderar den fullständiga listan över egenskaper:

class Book {// functionality of the class}

låt oss nu lägga till fält som definierats tidigare:

class Book { String title; String author; int numberOfPages; String publisher="OC";}

Lägg märke till hur de tre första inte har värden, men den sista gör det? Om du är en utgivare som vill katalogisera dina böcker vet du att utgivarvärdet alltid kommer att vara detsamma oavsett vilken bok du producerar. Boktitlarna, författarna och sidnumren kommer dock att ändras beroende på den specifika boken.

om du går tillbaka till det ursprungliga exemplet på en onlinebokhandel, skulle klassen dock se mer ut så här:

class Book { String title; String author; int numberOfPages; String publisher;}

eftersom du har böcker från många olika utgivare kan du inte lägga in ett standardvärde för dem alla. Så här definierar du fältet och lägger in ett värde senare!

med hjälp av klasser

Du har en helt ny typ – Book bisexuell – sorteras ut! Vad kan du göra med det? Trots allt är klasserna mer abstrakta eller konceptuella. Klassfält är som en mall i en onlinebokhandel: oavsett vilken bok du letar efter kommer samma information att dyka upp (titel, författare, Antal sidor etc.).

men när du söker skriver du inte bara ”bok”, eller hur? Det är inte användbart! Du behöver en specifik instans av en bok, säg Alice in Wonderland. Du letar efter ett faktiskt objekt som du kan bläddra igenom och läsa. Det är samma sak i datorprogrammering.

för att arbeta med en klass måste du skapa ett konkret objekt i den klassen. Med andra ord behöver du ett specifikt objekt, som en viss bok (Alice in Wonderland). Den specifika boken kallas en instans av en klass! Som namnet antyder kallas processen att initiera eller initiera ett objekt. För det skapar du en variabel i klassen.

i Java måste varje fält i det skapade objektet ha ett värde. Dessa värden kan tillhandahållas på några sätt. Du såg en i utgivarexemplet: hårdinställning av ett värde i klassdefinitionen.

ett annat sätt är att ge ett värde i uttalandet som skapar klassen. Låt oss titta på hur man gör det. Här är koden för att skapa en bok med värden som tillhandahålls när objektet skapas:

Instantiation av ett objekt
Instantiation av ett objekt

som du kan se finns det några olika element. Gör först en vanlig deklaration av en variabel med namnet myBook och dess typ Book. Kom ihåg hur vi sa att en klass är en namngiven komplex typ? Tja, här är beviset! Istället för intdouble eller string, är vår Typ den klass vi har kommit med!

nu, här kommer den svala delen. Variabeln initieras med objektskapningsuttrycket new Book("Coding is art","Becky James",425);. Detta uttryck består av nyckelordet new, följt av klassens namn igen (Book) och några parenteser () med värden inuti. Som du kan se innehåller parentesen ett angivet värde för var och en av de ursprungliga fälten: titleauthor och numberOfPages. Vi har sett till att separera var och en med ett komma. Slutligen, avsluta med en semikolon ;. Med det har du skapat en instans av klassboken!

arbeta med attribut (fält)

Phew! Det var mycket ordförråd och begrepp. Innan vi går vidare, Låt oss sammanfatta med ett snabbt diagram:

från klass till objekt!
från klass till objekt!

är det bättre? Kom bara ihåg:

  • använd en klass som en mall för dina framtida objekt. I en klass definierar du namn och typ för vissa variabler. I Java kallas dessa attribut i allmänhet och fält specifikt.

  • För att använda den coola Planen du gjorde måste du skapa ett objekt med hjälp av instantiationsprocessen. Det betyder att deklarera en variabel med din klass som en typ och sedan använda objektskapningsuttrycket du såg ovan.

  • När du skapar ett objekt skapar du värden för vart och ett av de fält som du redan har definierat i klassen.

  • ett objekt kallas en instans av en klass.

Nu är du redo! Du har ditt bokobjekt, men säg att du ändrar dig om värdet på dina variabler. Hur kommer du åt fälten som är associerade med ditt glänsande nya objekt?

ett vanligt sätt att komma åt fält på många programmeringsspråk är att använda vad som kallas en punktnotation. Det betyder att du måste skriva namnet på en instans eller ett objekt följt av ett attributnamn av intresse, åtskilda av en punkt: instanceVariableName.attributeName.

myBook.title = "Coding is Art";myBook.author = "Becky James";myBook.numberOfPages = myBook.numberOfPages + 10;

Nu kan du ställa in ändra värdet på fält i ditt objekt! Tänk dig att du har lagt till tio sidor eftersom du glömde att lägga till bokens index. Du kan antingen skriva det nya numret direkt eller lägga till tio sidor till det befintliga värdet som i den tredje raden. Detta är ganska praktiskt när man gör små förändringar.

prova själv

https://api.next.tech/api/v1/publishable_key/2A9CAA3419124E3E8C3F5AFCE5306292?content_id=2871d3da-5053-4373-a813-46b6fcf8118c

sammanfattning

i det här kapitlet har du lärt dig grunderna för objekt:

  • en klass är en ritning av ett objekt.

  • en variabel i en klass kallas en instans av en klass eller ett objekt.

  • en klass låter dig skapa komplexa typer genom att gruppera dess attribut genom att definiera fält.

  • för att skapa ett objekt måste du deklarera en variabel i en klass och instantiera den.

  • punktnotationen ger åtkomst till fält.

Lämna ett svar

Din e-postadress kommer inte publiceras.