Objektorienterad tänkande
Vad är ett objekt? Du kan titta överallt runt dig och se många objekt ( verkliga ) t.ex. din studiekamrat, din penna, din cykel o.s.v. Dessa verkliga objekt delar på två egenskaper, alla har tillstånd och beteende. T.ex. cykel har tillstånd ( hjul, växel, styre o.s.v.) och beteende ( bromsa, styra, växla). Styre Hjul Växel
Vad är objekt? Mjukvaruobjekt är modulerat efter de verkliga objekten så att de har också tillstånd och beteende. Mjukvaruobjekt bevarar sina tillstånd i en eller flera variabler. Variabel är en datapost som har en identifierare som t.ex. ett namn eller siffra. Stack Heap rak Styre rund Hjul Växel 21
Vad är ett objekt? Mjukvaruobjekt implementerar sina beteende med metoder. En metod är en funktion ( en kodblock ) som är associerade med detta objekt. Bromsa Trycka på bromsen Hjulen stannar Styra Höger eller vänster Växla upp eller ner Så definitionen av ett objekt är att objekt är en bunt av variabler och relaterade metoder.
Vad är objekt? Allt vad ett mjukvaruobjekt vet (tillstånd) och kan göra (beteende) kan utryckas med hjälp av variabler och metoder. Mjukvaruobjekt som är modulerats efter det verkliga objektet, i det här fallet cykeln, borde ha vissa variabler som indikerar cykeln nuvarande tillstånd (hastighet=10 mph, nuvarande växeln=5). Dessa variabler är formellt kända för instansvariabler för att de innehåller tillstånd för en viss cykelobjekt och i objektorienterad terminologi, en viss objekt kallas för en instans. Mjukvaruobjektet bör också ha metoder för att bromsa, växla och pendla. Dessa metoder är formellt kända för instansmetoder för att de kontrollerar eller manipulerar tillstånd av ett visst objekt.
Vad är ett objekt? Bilden visar att objektets variabler utgör centrumet eller kärnan av objektet. Metoderna omger och skyddar objektets kärnan från andra objekt. Att paketera objektets variabler i en skyddad miljö med hjälp av metoder kallas dataabstraktion (encapsulation). Den konceptuella bilden av ett objekt, kärnan av variabler som skyddas av metoder, är en ideal representation av objektet och är idealet för designers av objektorienterade system/applikation.
Vad är ett objekt? Dataabstraktionen är fortfarande mycket enkel och kraftig idee som tillhandahåller två primära fördelar för utvecklaren Modularitet: Källkoden för en viss objekt kan skrivas och underhållas separat, självständiga, från andras objekts- källkod. Alltså ett objekt kan enkelt flyttas runt in i systemet. Du kan ge din cykel till någon annan och den ska fortfarande fungera. Gömma information: Ett objekt har en publik gränssnitt för att kommunicera med andra objekt. Objektet kan ha privata information och metoder som kan ändras när som helst utan att påverka andra objekt som är beroende av detta. Du behöver inte förstå växelns uppbyggnad för att kunna använda den.
Vad är meddelande? Ett ensamt objekt är i princip inte mycket användbart. Istället ett objekt är vanligtvis en del av ett större program eller applikation där finns många andra objekt. I och med att dessa objekt kan interagera med varandra så programmerare kan åstadkomma ett högre funktionalitet och mer komplexa beteende i sina applikationer. En cykel som hänger i garaget är endast en klump av metall och kan inte utgöra själv något aktivitet. Cykeln blir användbar endast när ett annat objekt i det här fallet (du) som interagera med den ( börja cyckla).
Vad är meddelande? Mjukvaruobjekt interagerar och kommunicerar med varandra med att skicka meddelande till varandra. T.ex. när ett objekt A vill att objekt B ska utföra någonting så objekt A skickar ett meddelande till objekt B.
Vad är meddelande? Ibland mottagarobjektet behöver mer information för att veta exakt vad det ska utföra. T.ex. medan du cyklar och vill växla så du måste först indikera vilken växeln du vill ha innan du växlar. Växelposition skickas till objektet växeln som ett meddelande. Tre komponenter som omfattar ett meddelande Objektet till vilket meddelandet är adresserat (din cykel) Namnet på metoden, verben, som ska utföras (växla) Parameter som behövs för denna metod (ner/upp)
Klasser och objekt
Vad är en klass En ”kakform” för att skapa flera likadana objekt. En gjutform som används för att konstruera (skapa) många exemplar (instanser eller objekt) av typen. En definition av en typ för användning i applikationer. En klass beskriver (definierar) en grupp av saker (objekt). Klassen Bil definierar bilar generellt. De två viktigaste delar av en klass är: fält (variabler) som innehåller data. metoder som utför operationer på data.
Vad är ett objekt Ett objekt har tillstånd och beteende. Objektets tillstånd (State) sparas i fält (instansvariabler eller attribute) i en klassinstans (objekt av en klass). Objektets beteende (Behavior) definieras i metoder (funktioner, procedurer eller rutiner) Saker som händer i ett objekt. Tjänster som objektet erbjuder till andra metoder i samma eller andra klasser.
Klass och objekt Objekt – ”saker” som innehåller data samt metoder. Klasser – ”gjutform” som beskriver objekt. En .Net applikation består i princip av en eller flera klasser. Allt är objekt i .Net. Alla objekt automatiskt härledds av ett superobjekt som heter just ”Object” som en alias till ”System.Object”. En klass i .Net är en typ. En typ är En mängd värden med tillhörande operationer. En samling av fält, metoder, händelser och operatorer
C#-exempel metoder fält …. Och 3 objekt, Var och en har En klass sin uppsättning av data En klass Public class Car { data metoder } Public class CarApplication { public void Main() Car familyCar = new Car(”Family”); Car veteranCar = new Car(”Veteran”); Car raceCar = new Car(”Race”); }
Klass vs objekt Ett objekt är en instans (ett unikt exemplar) av en klass som skapas med nyckelordet new. Ett objekt är ett föremål som (alltid) tillhör (beskrivs av) en klass. En klass definierar (allmänt) en grupp av objekt. raceCar är ett objekt som tillhör klassen Car familyCar och veteranCar är andra objekt av klassen Car Dessa är TRE objekt av EN klass.