Video: Java svenska - 14 - Objekt 2024
Objektorienterad programmering är en typ av datorprogrammering - som Java - baserat på förutsättningen att alla program är huvudsakligen datorbaserade simuleringar av verkliga objekt eller abstrakta begrepp. Till exempel:
-
Flight-simulatorprogram försöker efterlikna verkliga flygplaners beteende.
-
Många dataspel är simuleringar av aktuella spel som människor spelar, till exempel baseball, NASCAR-racing och schack.
-
Även affärsprogram kan betraktas som simuleringar av affärsprocesser, såsom beställning, kundservice, frakt och fakturering.
Objekt är programmeringsenheter som har vissa grundläggande egenskaper:
-
Identitet: Varje objekt i ett objektorienterat program har en identitet . Med andra ord kan varje förekomst av en viss typ av objekt -an exempel - särskiljas från alla andra förekomster av samma typ av objekt samt från föremål av andra typer.
Varje objektinstans har sin egen plats i datorns minne. Således kan två objekt, även om de kan vara av samma typ, ha sina egna distinkta minnesplatser. Adressen till startplatsen för ett objekt ger ett sätt att skilja ett objekt från ett annat eftersom inga två objekt kan uppta samma plats i minnet.
Java håller varje objekts identitet ganska mycket för sig själv. Med andra ord finns det inget enkelt sätt att få minnesadressen till ett objekt; Java visar att det inte är något av ditt företag, och med rätta det. Om Java gjorde den informationen lätt tillgänglig för dig skulle du bli frestad att tinker med det, vilket kan orsaka alla möjliga problem, som alla C eller C ++ -programmerare kan berätta för dig.
Java-objekt har något som heter hash-kod, vilket är ett int-värde som automatiskt genereras för varje objekt och nästan representerar objektets identitet. I de flesta fall är hashkoden för ett objekt baserat på objektets minnesadress, men inte alltid. Java garanterar inte att två separata objekt inte kommer att ha samma hash-kod.
När det används med objekt, testar likhetsoperatören (==) faktiskt identiteten av två variabler eller uttryck. Om de hänvisar till samma objektinstans anses de två variablerna eller uttrycken lika.
-
Typ: Objektorienterad programmering låter dig ange namn till olika typer av objekt i ett program. I Java definierar klasser typer. Därför när du skapar ett objekt från en typ, säger du att objektet är av den typ som anges av klassen.Följande exempeluppsättning skapar ett föremål av typen Faktura:
Faktura i = Ny Faktura ();
I det här fallet är identiteten på det här objektet (det vill säga dess adress i minnet) tilldelat variabeln i, som kompilatören vet kan innehålla referenser till föremål av typen Faktura.
-
State: Även om varje instans av en given objekttyp har samma attribut har varje instans ett annat tillstånd: det vill säga en annan kombination av värden för var och en av dess attribut.
Även om vissa attribut av ett objekt är offentliga kan andra vara privata. De privata attributen kan vara avgörande för objektets interna funktion, men ingen utanför objektet vet att de existerar. De är som dina privata tankar: De påverkar vad du säger och gör, men ingen känner dem men du.
-
Uppförande: En annan egenskap hos objekt är att de har beteende, vilket innebär att de kan göra saker. Precis som tillstånd beror det specifika beteendet hos ett objekt på dess typ. Till skillnad från staten är uppförande dock inte annorlunda för varje förekomst av en typ.
Antag att alla elever i ett klassrum har räknare av samma typ. Be dem alla att dra ut räknarna och lägga till två nummer. Alla räknare visar ett annat nummer, men alla lägger till på samma sätt; det vill säga de har alla en annan stat men samma beteende.
Ett annat sätt att säga att objekt har beteende är att de tillhandahåller tjänster som kan användas av andra objekt. Du har nog redan sett massor av exempel på objekt som tillhandahåller tjänster till andra objekt. Objekt som skapats från klassen NumberFormat, till exempel, ger formateringstjänster som sätter numeriska värden i snygga formaterade strängar, till exempel $ 32. 95.
I Java tillhandahålls beteendet hos ett objekt med dess metoder. Således är formatmetoden för NumberFormat-klassen vad som ger formateringsbeteendet för NumberFormat-objekt.