OOP&M - teori1 OOPM del II– Föreläsning vecka5 2004 Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.

Slides:



Advertisements
Liknande presentationer
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Advertisements

Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Klassarv och inkapsling
Repetition av objektorientering
OOP Objekt-orienterad programmering
ObjektOrienterad analys och design. SVP Vt2009 Föreläsning nr 2, måndag 8 april kl Diskussion (kurshemsida): Om designuppgiften Om projektuppgiften.
Metoder i java Det finns två typer av metoder i java
Arv.
Abstract & sealed.
Polymorfism.
Programmeringsteknik för K och Media
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
TNSL04 – IT grundkurs. VT2008. Föreläsning nr 3, torsdag 7 feb. kl Del 1. Klasser, objekt, metoder, konstruktorer, samlingar och tillstånd. Hur.
Modellering med UML
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
i olika programmeringsspråk
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Föreläsning 11 Arrayer.
Objektorienterad programmering i Java
Programmering i C# 3. Klasser.
Föreläsning 2, Kapitel 2 Att förstå klassdefinitioner Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael.
Klasser och objekt Klasser, objekt och instansvariabler
Föreläsning 5. Problemet Vi har sett att vi kan ersätta de metoder vi ärver från överklassen med egen funktionalitet (polymorfism) class Bil : public.
Sid 41 Fordon int antalhjul; int vikt;
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
4. Arv och dynamisk bindning
Föreläsning 8, kapitel 8 Förbättra strukturen med arv Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael.
Föreläsning 4. Arv – bakgrund (kap. 9) Hund pälsfärg favoritben smutsa_ned() ät_katt() Katt pälsfärg smutsa_ned() klös_soffa() Kanin pälsfärg slaktvikt.
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Arv.
Programmeringsteknik för Media1 & K1
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Föreläsning 5, Kapitel 5 Använda Java-bibliotek för att få avancerad funktionalitet Kursbok: “Objects First with Java - A Practical Introduction using.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Föreläsning 4 Klasser Och Objekt.
Objektorienterad programmering i Java
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
1 Föreläsning 8 Mer om klasser och objektorientering.
Arv repetition Arv = Är relation Tillgänglighet public, protected och private. Överklass ös Direkt härledd underklass dhu: Class dhu : public ös{} Indirekt.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
OOP&M - teori1 OOP del II– Föreläsning 2 vecka 46 Konstruktorer Instansmetoder Kapitel 14 i kursboken.
OOP&M - teori1 OOP&M del II– Föreläsning 5 vecka 50 OBJEKT Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle Book String.
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder.
OOP&M - teori1 OOPM del II – Föreläsning vecka Sista föreläsning del II Kapitel 21 plus paket Abstrakta klasser/metoder igen Gränssnitt/Interface.
Arv, abstrakta klasser och gränssnitt
OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.
OOP&M - teori1 OOP2– Föreläsning vecka 0507 OBJEKT Mer om ärvning... Paket...
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
TDP004 Objektorienterad Programmering Fö 6 Objektorientering forts.
Föreläsning 9: Arv och UML
Föreläsning 10: Abstrakta klasser, gränssnitt
Presentationens avskrift:

OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser

OOP&M - teori2 Objekt Kalle är en Människa som har ett födelseår och har ett namn och har en far och har en mor och har en skostorlek. public class Human{ int born; String name = ”okänt”; int shoeSize; Human mother; Human father; }

OOP&M - teori3 Ärvning Används vid relationer av typen är en/ett ! exempel: en människa är ett däggdjur. en hund är ett däggdjur. en tax är en hund. en hund är ett däggdjur osv

OOP&M - teori4 Ärvning exempel: class Vehicle{ private String licenseNbr; private double FuelC; private Person owner; } class PassengerVehicle extends Vehicle{ private int maxPass; } class Car extends PassengerVehicle{ private boolean towingHook; } class Bus extends PassengerVehicle{ private boolean toilet; }

OOP&M - teori5 Ärvning Car, Bus är direkta subklasser/delklasser till PassengerVehicle PassengerVehicle är direkt subklass till Vehicle Vehicle är superklass till passengerVehicle Allmänt En subklass utvidgar(extends) sin superklass. Man skapar ofta bara objekt på lägsta nivå i klassträdet

OOP&M - teori6 Fördelar med Ärvning Beskrivningen liknar det verkliga systemet. Gemensamma attribut och metoder samlas på ett ställe och ärvs nedåt (De är dock inte tillgängliga om de är deklarerade private i superklassen)

OOP&M - teori7 Skydd private: Endast tillgängligt inom klassen public: Generellt tillgänglig protected: Tillgänglig inom klassen och i alla subklasser och inom aktuellt paket

OOP&M - teori8 Ärvning Superklassens konstruktor anropas först i subklassens konstruktor med: super(eventuella parametrar); Detta initierar eventuella parametrar i superklassen. this: Refererar till aktuellt objekt super: refererar till superklassen

OOP&M - teori9 Abstrakt klass Används på en klass för att förhindra att klassen instansieras. En subklass kan instansieras om den implementerar samtliga abstrakta metoder i superklassen Används på en metod i en superklass för att styra så att en metod måste implementeras i subklassen. Syntax för metod //se ut som vanlig metod utan implementation public abstract void myMetod(); Medför som tidger att en objekt-variabel kan deklareras med superklassens typ men ändå använda metoder från subklass.

OOP&M - teori10 Interface Gränsnitt Används på en klass för att styra så att vissa metoder måste implementeras i den klass som använder gränssnittet. Syntax för interfaceklass //se ut som vanlig metod utan implementation public interface myName{ public void mymethod(parameters); } Medför att en objekt av helt olika typ kan använda samma metoder genom att en variabel deklareras av intrefacetypen. Kan ej instansieras och har ingen konstruktor Kan endast ha variabler av typen static final.

OOP&M - teori11 UML (Unified Modeling Language) Grundnotation för en klass Klassnamn variabler konstruktorer metoder

OOP&M - teori12 UML (Association) Associationsstruktur Relation mellan två olika typer av objekt BilPerson 0..* 1..* En relation mellan två klasser som modellerar ett ägarskap- Relationen utläses som: -En bil har 1 eller flera ägare. -En person äger 0 eller flera bilar.

OOP&M - teori13 Aggregatstruktur Starkare koppling än en association. Objekten är fundamentala beståndsdelar i en större helhet. UML (Aggregat) Bil Kaross MotorHjul KamaxelCylinder * * 1 2..*

OOP&M - teori14 Arv Vid ärvning beskriver en generell klass (superklassen) egenskaper gemensamma för en grupp specialiserade klasser (subklasser). UML (Ärvning) Fordon Passagerarfordon BilBuss MC Lastmaskiner

OOP&M - teori15 Kluster är en samling klasser UML (Kluster) Fordon Passagerarford on BilBuss MC Lastmaskine r KarossMotorHjul Kamaxel Cylinder * * 1 2..* Fordon

OOP&M - teori16 Arv Vid ärvning beskriver en generell klass (superklassen) egenskaper gemensamma för en grupp specialiserade klasser (subklasser). UML (Abstrakta klasser) > Fordon > Passagerarfordon BilBuss MC Lastmaskiner

OOP&M - teori17 Interface Vid ärvning beskriver en generell klass (superklassen) egenskaper gemensamma för en grupp specialiserade klasser (subklasser). UML (Interface/Gränssnitts klasser) > Shape CircleRectangle > Citizen PlummerGardener > Drawable _______________ +draw

OOP&M - teori18 Javadoc Används för att automatiskt skapa dokumentation. /**kommentarer placerade här kommer med*/ Kommentarerna kan innehålla enkla HTML-taggar fet Kommentarer placeras före klass och metod och variabelbeklarationer och skall var kortfattade Det finns ett antal parametrar man kan ange till exempel (specificerar vad som skall var i eninparameter) (Vad som returneras –m.fl javadoc –d *.java skapar dokumentation Mer info på

OOP&M - teori19 Nyckelordet instanceof Ibland behöver man avgöra om ett objekt är en instans av en viss klass: Detta är till exempel användbart för att avgöra om man kan omvandla (casta) ett objekt till en viss klass. if (Object instanceof Klass){ Do something }

OOP&M - teori20 ?