OOMPA 2D1359 Föreläsning 7
|
|
- Ola Andersson
- för 5 år sedan
- Visningar:
Transkript
1 OOMPA 2D1359 Föreäsning 7 Objektorienterad Modeering Programmering och Anays Innehå Pragmatisk översikt av Java Java kort översikt Kasser: attribut, metoder, konstanter, arv Abstrakta kasser Interface Exempe Java Java är konstruerat på SUN Första versionen säpptes 1995 Starkt typat Dvs det går att avgöra typkompatibiitet av aa uttryck i programmet vid kompieringstifäet. Virtue maskin (VM) som gör det maskinoberoende En specie VM per pattformstyp överbryggar oikheter i pattformarnas arkitektur Kassbibiotek språkkasser, stränghantering, grafik, gränssnitt, fönster, nät, händesehantering, processer, coections, mm Bindning ti WWW med appets och iknande Har fått sin huvudsakiga spridning via Internet Syntax som C, semantik och kasser mer som Smatak - 2-1
2 Virtue maskin käkod kompiera (javac) java bytekod kör (java) en virtue maskin per pattformstyp Pc VM Mac VM Unix VM Java: mitt första "program" Skapa en fi med namnet MyFirstProgram.java Skriv föjande kod i fien: import java.io.*; pubic cass MyFirstProgram{ pubic static void main (String [] args) { System.out.printn("Mitt första program!"); - 4-2
3 ... kompiera och kör Kompiera >javac MyFirstProgram.java Då genereras en körbar fi MyFirstProgram.cass Kör genom att starta Javas virtuea maskin med program/kassnamnet som argument >java MyFirstProgram Mitt första program! Regen är att kassens static void main-metod atid exekveras Ett "Javaprograms" struktur Kaas också för medemmar En kass ser ut på föjande sätt pubic cass KassNamn extends SuperKassNamn{ attribut (instans- och kassvariaber) metoder (instans- och kassmetoder) konstruktörer En metod modifierare returtyp funktionsnamn(argument){ programsatser - 6-3
4 Konstruera kass Kassnamn = finamn En kass ska ha samma namn som den fi den paceras i Kassen Circe i fien Circe.java En fi kan innehåa fera kasser men bara en av dem kan vara dekarerad pubic, Det är den pubika kassens namn som motsvarar fiens Definition av kass, ma pubic cass KassNamn extends SuperKassNamn{ attribut (instans- och kassvariaber) metoder (instans- och kassmetoder) konstruktörer Dekarera och instansiera Dekaration av instans KassNamn variabenamn; Instansiering variabenamn = new KassNamn(); aternativt, både dekaration och instansiering på en gång KassNamn variabenamn = new KassNamn(); - 8-4
5 Kompiera och köra Environmentvariabe Gör först (NADA) modue add java Hemma bör du expicit sätta path (se systemdokumentation) Om du har en egen java-kataog kan det vara idé att sätta environmentvariaben CLASSPATH setenv CLASSPATH $HOME/MyJAVA:. Kompiera med javac finamn javac Kassnamn.java om at går bra skapas då en fi med namnet Kassnamn.cass Kör med java kassnamn java Kassnamn Exempe: Kass // Kassdefinition (utan extends medför subkass ti Object) pubic cass Circe {pubic doube x, y; attribut pubic doube r; pubic doube circumference(){return 2 * 3.14 * r; pubic doube area(){return 3.14 * r * r; metoder // för att testa skriver vi en static main-metod // som används då man kör från termina pubic static void main (String args[]) { //Vi dekarerar en temporär variabe Circe circe; // och instansierar circe = new Circe();
6 ... forts... //vi ändrar några värden circe.x = 100; circe.y = 200; circe.r = 20; // vi gör några testutskrifter System.out.printn("Cirkens x-koordinat: " + circe.x + " och dess y-koordinat: " + circe.y); System.out.printn("den har en radie också: " + circe.r); System.out.printn( "genom anrop av metoden circumference: " + circe.circumference() + " fick vi omkretsen"); System.out.printn("och med area:" + circe.area() + " dess area"); och så sparar vi, kompierar och kör Spara Spara fien med samma namn som kassen med extension.java, dvs här Circe.java Kompiera javac Circe.java Skapar en fi Circe.cass Kör java Circe
7 Exempe: Eka argument Skapa fi Echo.java (som ekar givna argument) pubic cass Echo { pubic static void main(string[] argv) { for(int i = 0; i < argv.ength; i++) System.out.print(argv[i] + " "); System.out.print("\n"); System.exit(0); Kompiera javac Echo.java Kör java Echo detta är input Syntax sammanfattning kassdefinition superkass (kan uteämnas om Object ska vara superkass) vektor med strängar pubic cass Echo extends Object{ kassmetod pubic static void main(string[] argv) { "begin" med static for-oop for(int i = 0; i < argv.ength; i++) skriv ut på termina System.out.print(argv[i] + " "); System.out.print("\n"); System.exit(0); "end" metoden main beskriver huvudprogrammet (då man kör från termina) pubic anger att kass eer metod är synig för aa kasser, metoder och variaber måste atid dekareras med typ ny rad avbryt programmet 7
8 Fera konstruktörer // Kassdefinition med fera konstruktörer pubic cass Circe { //... attribut som tidigare... Argumenten kan ha samma namn som instansvariaberna pubic Circe (doube x, doube y, doube r){ // men då måste vi referera instansvariaberna mha this.ivar this.x = x; this.y = y; this.r = r; definition av en konstruktör som tar en annan cirke som argument pubic Circe(Circe c){x = c.x; y = c.y; r = c.r; oika typer av argument ger oika metoder (överagring) pubic Circe(doube r){this.r = r; Exempe: ampa1 pubic cass Lamp1 { protected booean ison; pubic void turnon() {ison = true; pubic void turnoff() {ison = fase; pubic booean ison() {return ison; pubic void togge() {ison =!ison(); pubic static void main (String args[]) { Lamp1 amp; amp = new Lamp1(); System.out.printn(amp.isOn()); //fase amp.togge(); System.out.printn(amp.isOn());
9 Exempe: ampa2 pubic cass Lamp2 { // defutvärde för ison kan anges vid dekarationen protected booean ison = true; // medemsmetoderna som förut... pubic static void main (String args[]) { Lamp2 amp; amp = new Lamp2(); System.out.printn(amp2.isOn()); //true amp.togge(); System.out.printn(amp.isOn()); Kassvariabe // Kassvariabe med static pubic cass Circe { kassvariabe pubic static doube defautr = 5; vi kan använda kassvariaben för att tex initiera instanvariaber pubic doube x = 0, y = 0, r = defautr; konstant (som ej kan ändras) med fina pubic static fina doube PI = ;
10 Exempe: ampa3 pubic cass Lamp3 { // statisk/kass variabe som deas av aa instanser private static booean defautonvaue = fase; protected booean ison = defautonvaue; //... metoderna som förut pubic static void main (String args[]) { Lamp3 amp; amp = new Lamp3(); System.out.printn(amp.isOn()); amp.togge(); System.out.printn(amp.isOn()); Exempe: ampa4 (med def av konstruktörer) pubic cass Lamp4 { // medemsmetoderna som förut // Vi definierar "egna" konstruktörer pubic Lamp4() {ison = fase; pubic Lamp4(booean boo) {ison = boo; pubic static void main (String args[]) { Lamp4 amp1 = new Lamp4(); Lamp4 amp2 = new Lamp4(true); System.out.printn("Lampa 1: " + amp1.ison() + ", Lampa 2: " + amp2.ison()); amp1.togge(); amp2.togge(); System.out.printn("Lampa 1: " + amp1.ison() + ", Lampa 2: " + amp2.ison());
11 Konstruktör som använder annan konstruktör använd konstruktionen this(...) först i annan konstruktör // vi kan använda en av dom andra konstruktörerna pubic Circe(doube x, doube y){this(x, y, 3); pubic Circe(){this(12, 13); //test pubic static void main (String args[]) { Circe c1 = new Circe(); c1.r = 1000; Circe c2 = new Circe(c1); Circe c3 = new Circe(17, 18); Circe c4 = new Circe(500); main (forts) // testutskrifter System.out.printn("c1 x: " + c1.x + " y: " + c1.y + " r: " + c1.r); System.out.printn("c2 x: " + c2.x + " y: " + c2.y + " r: " + c2.r); System.out.printn("c3 x: " + c3.x + " y: " + c3.y + " r: " + c3.r); System.out.printn("c4 x: " + c4.x + " y: " + c4.y + " r: " + c4.r); utmatningen bir: c1 x: 12 y: 13 r: 1000 c2 x: 12 y: 13 r: 1000 c3 x: 17 y: 18 r: 3 c4 x: 0 y: 0 r:
12 Exempe: ampa5 (en konstruktör använder en annan) pubic cass Lamp5 { //... pubic Lamp5() {this(fase); pubic Lamp5(booean ison) {this.ison = ison; pubic static void main (String args[]) { Lamp5 amp1 = new Lamp5(); Lamp5 amp2 = new Lamp5(true); System.out.printn("Lampa 1: " + amp1.ison() + ", Lampa 2: " + amp2.ison()); amp1.togge(); amp2.togge(); System.out.printn("Lampa 1: " + amp1.ison() + ", Lampa 2: " + amp2.ison()); Exempe: Book pubic cass Book { private String tite, author, isbn; pubic Book(String name, String author, String isbn) { tite = name; this.author = author; this.isbn = isbn; pubic Book(String name) {this(name, ""); pubic Book(String name, String author) {this(name, author, ""); pubic String tostring() {return "Tite: " + tite + " Förf: " + author + " ISBN: " + isbn; pubic static void main (String args[]) { Book book1 = new Book("XXX with Java", "Budd"); Book book2 = new Book("Y Undistied"); System.out.printn("Bok 1: " + book1); System.out.printn("Bok 2: " + book2);
13 Inkudera kasser från andra fier // inkudera kod från bibiotek med import import java.awt.point; importera Point pubic cass Figure { // med protected kan variaben enbart äsas av instanser // eer instanser av subkasser protected Point position = new Point(10, 20); // fast vi kan ge en pubik inspektor pubic Point position() {return position; // en annan metod kan anropa direkt pubic int x() {return position().x; this underförstått // eer med this.meddelande pubic int y() {return this.position().y; testa pubic static void main (String args[]) { //Vi dekarerar en temporär variabe Figure f = new Figure(); System.out.printn("pos: " + f.position() + " x: " + f.x() + " y: " + f.y()); Resutat pos: java.awt.point[x=10,y=20] x: 10 y:
14 Subkass // arv med extends. Vi antar att vi skrivit kass Figure pubic cass Circe extends Figure{ pubic static void main (String[] args) { //Vi kan dekarera en variabe som tihörande typen Figure Figure v1 = new Figure(); //Vi kan dekarera variabe som tihörande typen Circe Circe v2 = new Circe(); //eer typen Figure Figure v3; // men ändå instansiera den som en Circe v3 = new Circe(); och en test System.out.printn("pos: " + v1.position() + " x: " + v1.x() + " y: " + v1.y()); System.out.printn("pos: " + v2.position() + " x: " + v2.x() + " y: " + v2.y() + " area: " + v2.area()); // i v3 som är dekarerad som Figure kan vi inte använda area() // trots att den nu är en Circe System.out.printn("pos: " + v3.position() + " x: " + v3.x() + " y: " + v3.y()); // men med en typecast går det typecast System.out.printn(" area: " + ((Circe) v3).area()); // aternativt kan en metod med samma namn definieras i Figure // och då kommer ändå Circe:s area() användas vid v3.area() eftersom metoder binds dynamiskt Utmatning: pos: java.awt.point[x=10,y=20] x: 10 y: 20 pos: java.awt.point[x=12,y=13] x: 12 y: 13 area: pos: java.awt.point[x=12,y=13] x: 12 y: 13 area:
15 Exempe: kassen Rect med subkass pubic cass Rect { //instansvariaber pubic int x1, y1, x2, y2; //konstruktörer pubic Rect(int x1, int y1, int x2, int y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; pubic Rect(int width, int height) { this(0, 0, width, height); pubic Rect() { this(0, 0); // metoder pubic void move(int detax, int detay) { x1 += detax; x2 += detax; y1 += detay; y2 += detay; pubic booean isinside(int x, int y) { return ((x >= x1) && (x <= x2) && (y >= y1) && (y <= y2)); pubic Rect union(rect r) { return new Rect((this.x1 < r.x1)? this.x1 : r.x1, (this.y1 < r.y1)? this.y1 : r.y1, (this.x2 > r.x2)? this.x2 : r.x2, (this.y2 > r.y2)? this.y2 : r.y2);
16 ... pubic Rect intersection(rect r) { Rect resut = new Rect((this.x1 > r.x1)? this.x1 : r.x1, (this.y1 > r.y1)? this.y1 : r.y1, (this.x2 < r.x2)? this.x2 : r.x2, (this.y2 < r.y2)? this.y2 : r.y2); if (resut.x1 > resut.x2) { resut.x1 = resut.x2 = 0; if (resut.y1 > resut.y2) { resut.y1 = resut.y2 = 0; return resut; pubic String tostring() { return "[" + x1 + "," + y1 + "; " + x2 + "," + y2 + "]"; och en test (i en separat testkass)... pubic cass RectTest { pubic static void main(string[] args) { Rect r1 = new Rect(1, 1, 4, 4); Rect r2 = new Rect(2, 3, 5, 6); Rect u = r1.union(r2); Rect i = r2.intersection(r1); if (u.isinside(r2.x1, r2.y1)) System.out.printn("(" + r2.x1 + "," + r2.y1 + ") is inside the union"); System.out.printn(r1 + " union " + r2 + " = " + u); System.out.printn(r1 + " intersect " + r2 + " = " + i);
17 ... och subkassen DrawabeRect pubic cass DrawabeRect extends Rect { pubic DrawabeRect(int x1, int y1, int x2, int y2) { super(x1,y1,x2,y2); pubic void draw(java.awt.graphics g) { g.drawrect(x1, y1, (x2 - x1), (y2-y1)); Kass Person med definition av printrutin import java.uti.date; pubic cass Person { pubic String name = ""; pubic Date dateofbirth; pubic Person(String name, Date date) {this.name = name; dateofbirth = date; pubic Person(String name) {this(name, new Date()); pubic int age(){ Date now = new Date(); return now.getyear() - dateofbirth.getyear(); // med tostring definierar vi hur objektet presenterar sig pubic String tostring(){ return "Namn: " + name + " född: " + dateofbirth;
18 och så prövar vi ba tostring pubic static void main (String args[]) { Person p1 = new Person("Kae"); System.out.printn(p1); utmatning: Namn: Kae född: Mon Sep 21 15:45:01 MET Med super kan vi använda metoder i superkass pubic cass Empoyee extends Person { // en statisk (kassvariabe) används för att räkna // anstäda (dvs egentigen anta instanser) static int numberofempoyers = 0; pubic int number; // Med super kommer vi åt superkassens definition pubic String tostring(){return super.tostring() + " anstäningsnummer: " + number; // för att använda superkassens konstruktör används också //super som ska stå först, med syntax: super(argument) pubic Empoyee(String name) {super(name); numberofempoyers = numberofempoyers + 1; number = numberofempoyers;
19 Abstrakt kass eer metod pubic abstract cass ForceOverride { genom att dekarera en metod abstrakt kan vi tvinga subkasser att omdefiniera (annars kan dom inte instansieras) pubic abstract String myname(); pubic String tostring() {return "Namn: " + myname(); I packages kan vi definiera kasser som hör ihop och senare kan importeras tisammans package MinaFigurer; //ska stå först import java.awt.point; pubic abstract cass Figure { protected Point position = new Point(10, 20); pubic Point position() {return position; pubic int x() {return this.position().x; Namnet på en package ska vara detsamma som den kataog fien befinner sig i viket ba medför att oika kasser i en viss package befinner sig i samma kataog
20 andra kasser i samma package Circe.java Rectange.java package MinaFigurer; pubic cass Circe extends Figure{ private doube r = 10; pubic doube radius(){return r;; pubic void radius(doube newr){r = newr; package MinaFigurer; import java.awt.point; pubic cass Rectange extends Figure{ pubic Rectange(){ position = new Point(100, 200); Interface Ett interface definierar ett gränssnitt Detta kan sedan användas av oika kasser i systemet Ett sätt att behåa statisk typning fast ändå tiåta att oika kasser dear på ett gränssnitt utan att tvinga dem att ha gemensam superkass eer införa mutipet arv pubic interface Drawabe{ pubic void setcoor(coor c); pubic void setposition(point p); pubic void draw(window dw); ett interface impementeras av en kass pubic cass VisuaComponent impements Drawabe{
21 ... Interface pubic DrawabeRectange extends Rectange impements Drawabe{ private Coor c; private Point pos; pubic void setcoor(coor c) {this.c = c; pubic void setposition(point p){pos = p; pubic void draw(window dw){dw.drawrect(pos.x, pos.y, height, width); Ett interface kan utökas pubic interface Transformabe extends Scaabe, Rotateabe, Refectabe { eer innehåa konstanter interface Constants {static fina int Weekdays = 7; TextIO (och undantagshantering) import java.io.*; cass ReadCharTest { pubic static void main(string[] args) { System.out.printn("Java!"); // Läs ett tecken innan programmet avsutas try { int ch = System.in.read(); catch (IOException e) { // Ignorera
22 Med Ström Vi kan också äsa in mha en ström och buffert //Prompt System.out.print(">"); //Läs in BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ine = reader.readline(); //Sen kan vi testa vad som matades in if (ine.equas("sut")) //...; Exempe: en egen sumptasgenerator pubic cass Randomizer { static fina int m = ; static fina int a = 9301; static fina int c = 49297; int seed = 1; pubic Randomizer(int seed) { this.seed = seed; pubic foat randomfoat() { seed = (seed * a + c) % m; return (foat)seed/(foat)m; pubic int randomint(int max) { return Math.round(max * randomfoat()); pubic static void main(string[] args) { Randomizer r = new Randomizer((int)new java.uti.date().gettime()); for(int i = 0; i < 10; i++) System.out.printn(r.randomInt(100));
23 Exempe: Person med subkass Student konstant med fina pubic cass Person { pubic static fina String unspecified = "OSPECAT"; protected String name, address, phone; pubic Person(String name, String address, String phone) { this.name = name; this.address = address; this.phone = phone; pubic Person(String name) {this(name, unspecified); pubic Person(String name, String address) {this(name, address, unspecified); anropa annan konstruktör pubic String tostring() {return "Namn: " + name + " Address: " + address + " Te: " + phone; pubic static void main (String args[]) { Person pers1 = new Person("Kae", "Osquars Backe 2"); Person pers2 = new Person("Oe"); System.out.printn("Person 1: " + pers1); System.out.printn("Person 2: " + pers2);
24 ...och subkassen Student... pubic cass Student extends Person { protected String emai; Student subkass ti Person pubic Student(String name, String address, String phone, String emai) { använd superkassens super(name, address, phone); konstruktör this.emai = emai; pubic Student(String name, String address, String phone) { this(name, address, phone, unspecified); pubic Student(String name) {this(name, unspecified); pubic Student(String name, String address) {this(name, address, unspecified); använd superkassens tostring() pubic String tostring() {return super.tostring() + " Emai: " + emai; pubic static void main (String args[]) { Student stud1 = new Student("Kae", "Osquars Backe 2"); Student stud2 = new Student("Oe"); Student stud3 = new Student("Kae", "Osquars Backe 2", "1234", "Kae@nada.kth.se"); System.out.printn("Student 1: " + stud1); System.out.printn("Student 2: " + stud2); System.out.printn("Student 3: " + stud3);
25 Exempe: Enkeänkad ista // en enkeänkad ista med metoder för att undersöka om objektet är sist, stoppa in änk samt ge avstånd ti sutet cass LinkabeObject{ pubic LinkabeObject ink; pubic Object vaue; pubic String tostring() {return vaue.tostring(); pubic LinkabeObject() {this(nu); pubic LinkabeObject(Object vaue) { ink = nu; this.vaue = vaue; pubic booean atend(){return ink == nu; pubic void insert(linkabeobject next) { ink = next; pubic int distancetoend(){ return atend()? 0 : 1 + ink.distancetoend(); test pubic cass LinkabeTestB{ pubic static void main (String args[]) { LinkabeObject root = new LinkabeObject("ROOT"); LinkabeObject current; current = root; for(int i=1; i < 5; i++) { // För att kunna använda en int som ett Object konstruerar vi en Integer LinkabeObject newlinkabe = new LinkabeObject(new Integer(i)); current.insert(newlinkabe); current = newlinkabe; current = root; whie(current!= nu) { System.out.printn(current + " distance to end: " + current.distancetoend()); current = current.ink;
26 Exempe: Dubbeänkad ista cass DoubeLinkabeObject{ pubic DoubeLinkabeObject next, prev; pubic Object vaue; pubic String tostring() {return vaue.tostring(); pubic DoubeLinkabeObject() {this(nu); pubic DoubeLinkabeObject(Object vaue) {next = prev = this; this.vaue = vaue; pubic void insert(doubelinkabeobject adoubelinkabeobject) { this.next.prev = adoubelinkabeobject; adoubelinkabeobject.next = this.next; adoubelinkabeobject.prev = this; next = adoubelinkabeobject; pubic int distanceto(doubelinkabeobject adoubelinkabeobject){ return this == adoubelinkabeobject? 0 : 1 + next.distanceto(adoubelinkabeobject); pubic int ength(){return 1 + next.distanceto(this); pubic cass DoubeLinkabeTest{ pubic static void main (String args[]) { DoubeLinkabeObject root = new DoubeLinkabeObject("ROOT"); DoubeLinkabeObject current; current = root; for(int i=1; i < 5; i++) { // För att kunna använda en int som ett Object konstruerar vi en Integer DoubeLinkabeObject newlinkabe = new DoubeLinkabeObject(new Integer( i)); current.insert(newlinkabe); current = newlinkabe; current = root.next; whie(current!= root) { System.out.printn(current + " distance to root: " + current.distanceto(root)); current = current.next; System.out.printn( "ength: " + root.ength());
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer Av Björn Eiderbäck Email: bjorne@nada.kth.se Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 previous next Exempel: lampa Light1 #
Läs merOOMPA 2D1359 Föreläsning 3
OOMPA 2D1359 Föreläsning 3 Objektorienterad Modellering Programmering och Analys Objektorientering grunder-2 l Komponenter och beteende l CRC-kort Teknik för att beskriva och ta fram objekt, klasser och
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merJava: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized.
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized. previous next Java Java är konstruerat på
Läs mer2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning
2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten
Läs merRepetition av viktiga begrepp inom objektorienterad programmering
Repetition av viktiga begrepp inom objektorienterad programmering Tema: Arv, parameteröverföring, statiska attribut och metoder. Arv U 1. Betrakta följande klasser: public class Person { protected String
Läs merObjektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
Läs mer1 Repetition av viktiga begrepp inom objektorienterad programmering
Repetition av viktiga begrepp inom objektorienterad programmering 3 1 Repetition av viktiga begrepp inom objektorienterad programmering Tema: Arv, parameteröverföring, statiska attribut och metoder. Litteratur:
Läs mer..arv Arv kan delas in i två huvudtyper Arv för specifikation dvs arv av protokoll Arv av kod dvs arv av beteende och struktur. 2203$ ) UHOlVQLQJ.
Arv, polymorfi och gränssnitt Innehåll 2203$ ) UHOlVQLQJ Arv Subtyp, ersättbarhet Olika former av arv Polymorfi Abstrakta klasser och gränssnitt..arv Arv kan delas in i två huvudtyper Arv för specifikation
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merSubklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 5 Innehåll Subklasser och arv Inledning till grafik (JFrame och JPanel).
Läs merDAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merKort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel
Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/
Läs merPolymorfi. Objektorienterad och komponentbaserad programmering
Polymorfi Objektorienterad och komponentbaserad programmering Polymorfi, mångtydighet Polymorfi innebär att en viss konstruktion kan exekveras på olika sätt Överlagring av metoder ger ett polymorft beteende
Läs merTDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Arv Polymorf UML (klassdiagram) 1 Arv Möt tre studenter
Läs merJAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merKungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
Läs merDAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,
Läs merLaboration 1: Figurer i hierarki
Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras
Läs merOOMPA 2D1359 Föreläsning 8
OOMPA 2D1359 Föreläsning 8 Innehåll Arv, polymorfi och gränssnitt Arv Subtyp, ersättbarhet Olika former av arv Polymorfi Abstrakta klasser och gränssnitt - 1 - Arv l Arv är fundamentalt i objektorienterad
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merJava: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Läs merOOP Tenta
Stockholms universitet sid 1 OOP OOP Tenta 2012-01-14 10.00 15.00 Avser kurserna DSK1:OOP och GES:OOP Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Läs merArv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Läs merOutline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Klassen calculator Signatur Calculator
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merTENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merTentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merOOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Överlagring (overloading) Arv
Läs merUML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
Läs merTDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90/1 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder
Läs merLösningsförslag till tentamen i OOP, HI1027 Fredag 21 oktober 2011
Lösningsförslag till tentamen i OOP, HI1027 Fredag 21 oktober 2011 Text inom [] avser kommentarer till rättningen, ofta sådant som många missuppfattat eller gjort fel på. Del A. Teoriuppgifter 1. Återanvändning:
Läs merTENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merInterface. Interface. Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010
Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010 interface, motivation och bakgrund Antag att vi gör en generell listklass: public class List { protected static class ListNode { public
Läs merIdag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
Läs merTENTAMEN OOP
TENTAMEN OOP 2014-03-15 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merOutline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Signatur public static int parseint (
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Läs merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Läs merAtt skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs merProgrammering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
Läs merF4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander
F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många
Läs merFöreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser
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) Den nya klassen behåller alla egenskaper som den gamla
Läs merTentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs mer1 Egna klasser. 1.1 En punkt-klass
1 Egna klasser Vi har bekantat oss med klasser genom att se hur vi kan använda olika klasser. I synnerhet klassen Scanner och klassen Math. För scannerklassen skapade vi en instans för att sedan utnyttja
Läs merFöreläsning 9: Arv och UML
TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;
Läs merTentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Läs merFöreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
Läs merKonstruktion av klasser med klasser
Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut
Läs merAlgoritmer. Två gränssnitt
Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut
Läs merInnehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och
Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält
Läs merFöreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Läs merAtt deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Läs merTDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,
Läs merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 14 I torsdags & fredags: arrayer Deklaration, initiering, åtkomst Arrayer är referenser Arrayer som parametrar och returvärden Exempel
Läs merKlasshierarkier - repetition
Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet
Läs merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
Läs merMålen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1
Objektorienterad programmering Vi började med att programmera i main, sedan gick vi vidare till flera metoder i en klass. Nu är det dags för flera klasser. Objektorienterad programmering Relationer mellan
Läs merAtt använda Java SE JDK 6
Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).
Läs merF8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
Läs merI STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else
Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,
Läs merTDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder
Läs merTentamen. Grundläggande programmering i Java A 5p, DTAA32 2003-03-21
Mitthögskolan ITM Institutionen för Informationsteknologi och medier. Bertil Danielsson 060-14 86 82 Jan-Erik Jonsson 060-14 87 90 Tentamen i Java A Sida 1/6 Tentamen Grundläggande programmering i Java
Läs merObjektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016
Objektorienterad Programkonstruktion Föreläsning 4 8 nov 2016 Nästade klasser I Java går det att deklarera en klass inuti en annan klass. Vi kallar detta för att en yttre klass innehåller en inre klass.
Läs merOOP Omtenta 2010-03-06 10.00 15.00
Stockholms universitet 1 (6) OOP OOP Omtenta 2010-03-06 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv
Läs merSpråkkonventioner och redigering av tal.
Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner
Läs merLaboration 1 - Grunderna för OOP i Java
Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben
Läs merTENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Läs merOmtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-08-24, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Läs merLösningsförslag tentamen FYTA11 Java
Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 10 Lösningsförslag tentamen FYTA11 Java Måndag 10:e januari 2011, 09:00 13:00 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade
Läs merExempel på användning av arv: Geometriska figurer
(9 maj 2014 Klasshierarkier 1 ) Exempel på användning av arv: Geometriska figurer Uppgift: Skriv ett program som kan hantera några olika geometrisk figurer: linjer, cirklar och rektanglar. (9 maj 2014
Läs merLösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel
Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merTänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merOOP Tentamen
DVS SU/KTH 1 (6) OOP OOP Tentamen 2010-01-15 15.00 20.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på nytt blad. Skriv
Läs merCommand line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Läs merLösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004
Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
Läs merDAT043 - Föreläsning 7
DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar
Läs merTentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex
Läs merParsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Läs merKlasshierarkier. Klasser kan byggas på redan definierade klasser
Klasshierarkier Klasser kan byggas på redan definierade klasser på två sätt: Klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: klassen partikel består av ett antal attribut av typen
Läs merOmtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-08-30, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Läs merUpplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.
Introduktion Upplägg Kursen heter konstruktion, ej design eller formgivning. det handlar främst om att lära sig att bygga gränssnitt som är sunda den är praktiskt orienterad; vetenskapliga teorier finns,
Läs mer