OOP&M - teori1 OOPM del II – Föreläsning vecka 9 2005 Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.

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.
Fortsättningskurs i Programmering lektion 6
Klassarv och inkapsling
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.
Inkapsling.
Polymorfism.
Programmeringsteknik för K och Media
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
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.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
PROCESSPROGRAMMERING
Sid 41 Fordon int antalhjul; int vikt;
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.
Vektorer (klassen Vector) Sortering
Polymorfism.
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.
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 Innehåll Del 1-trådar Del 2-URLer Del 1: Trådar Föreläsning 8.
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 5 Arrayer & ArrayList Hur man använder API:n
Java paket och jar-filer
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.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Objektorienterad programmering
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
Arv repetition Arv = Är relation Tillgänglighet public, protected och private. Överklass ös Direkt härledd underklass dhu: Class dhu : public ös{} Indirekt.
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 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
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.
OOP&M - teori1 OOP del III–vecka 15 Mer NetBeans MouseEvent Graphics Threads TIJ Chapter 14 Menus sid Drawing File Dialogs
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.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 3: Abstrakta datatyper Algebror Abstrakta datatyper Inkapsling och informationsmaskering.
DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13.
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 Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Objektorienterad programmering sid. 1 7/15/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Objektorienterad programmering OOP = objektbaserad programmering.
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.
Föreläsning 8: Exempel och problemlösning
Föreläsning 12: Exempel och problemlösning
Föreläsning 2: Typer, klasser, tilldelning
Föreläsning 9: Arv och UML
Presentationens avskrift:

OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat

OOP&M - teori2 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 - 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 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 - teori5 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 tidigare att en objekt-variabel kan deklareras med superklassens typ men ändå använda metoder från subklass.

OOP&M - teori6 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 - teori7 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 - teori8 Skydd Skyddsnivå Tillgänglig: publicprotectedpackageprivate Inom samma klassJa Klass i samma paket Ja Nej Subklass i annat paket Ja Nej Annat paketJaNejNajNej

OOP&M - teori9 Package Paket Används för att samla ett antal klasser så att de kan importeras av en annan klass. Skall ha unikt namn ofta används domännamn baklänges Klassfilerna placeras i en mappstruktur som motsvarar paketnamnet. Syntax för paket //måste stå på första raden package se.mah.k3.mypackage; /*importeras sen med (classpath till biblioteket där klasserna finns måste anges)*/ import se.mah.k3.mypackage.*; Medför att det är enklare att använda färdiga klasser i nya program

OOP&M - teori10 Package Paket se mah k3 shapes lut mypackage Klassfilerna ligger för paketet se.mah.k3.mypackage i mappen mypackage Javafilerna ligger för paketet se.mah.k3.mypackage i mappen mymapp mymapp

OOP&M - teori11 Classpath Anger var kompilatorn söker efter klasser. Rotkatalogen för klassfilerna skall anges Kan skrivas ut och anges på PC med vid DOS- prompt På PC skriver man till exempel set CLASSPATH = %CLASSPATH%;c:\myfolder antingen vid kommandoprompt eller via inställningar i My Computer Kan anges i Jcreator via project settings Antingen anges rotmappen för klassfilerna eller en JAR- fil (packade javafiler)

OOP&M - teori12 Sortering o sökning i Arrayer o Listor Med hjälp av statiska metoder i två klasser (Arrays och Collections) kan man sortera o söka i listor och arrayer. För att detta skall fungera för klasser utan naturlig ordning måste man implementera gränssnittet Comparable.

OOP&M - teori13 Comparable Comparable har en metod: public int compareTo(Object o)Object –Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. Detta kallas ”naturlig ordning” eller natural ordering.

OOP&M - teori14 Gränsnittet Comparable Finns implementerat för till exempel Arrayer som int[], String[] mfl. Arrays har statiska metoder för att sortera arrayer dessa använder gränssnittet Comparable. Metoden equals() som ärvs från Object används när man söker i en Array. Om man vill ändra sökkriterier kan man överskugga equals()

OOP&M - teori15 ArrayList o Listor/samlingar I dessa söker man med statiska metoder från klassen Collections i stället för Arrays.

OOP&M - teori16 Gränssnittet Comparator Används om man vill ha flera sätt att söka i en Array eller en Lista. Skapa en egen klass som implementerar Comparator samt överskugga metoden compare.

OOP&M - teori17 Threads Synonymer: Multitasking MultiThreaded Trådade program Ger möjlighet att utföra saker till synes samtidigt. Detta sker genom att man delar processortiden mellan de processer som körs.

OOP&M - teori18 Threads Används för att: inte programmet skall bli upptaget med CPU-intensiva (tex Graphics-objekt) uppgifter så att till exempel avsluta-knappen ej fungerar. Skapar helt nya problem man måste kunna skydda gemensamt tillgänglig data man måste kunna vänta på andra trådar. Trådar är dock mycket användbara när man arbetar med Grafiska gränssnitt samt multimedia. Nödvändigt för många I/O program.

OOP&M - teori19 Threads Skapas som objekt som utvidgar klassen Thread och överskuggar metoden run(). Tråden startar genom att metoden start() anropas. exempel på trådad klass som startar automatiskt. public class MyThread extends Thread { private boolean stop=false; public MyThread(){ this.start(); } public void run(){ while(!stop){ //gör något try{sleep(1000);}catch(InterruptedException e){} } public void stopThread(){ stop=true; }

OOP&M - teori20 ?