Klasser og objekter (Afsnit 4 + 5 i manualen).

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

07 – Kort om OO Introduktion.
Indledende Programmering Uge 2 - Efterår 2006 Selektioner og interaktion mellem objekter Susanne Brix Lindros.
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
Grundlæggende programmering Efterår 2001
09 – Arv og polymorfi i java
Hvordan man skriver koden.
Structs Structs allokeres på stakken Memory-allokering sker ved oprettelse af variabel og ikke ved new Der kan defineres metoder incl. Constructor. Eksempel.
Forelæsning 3.1 Collections Javas for-each løkke
GP6, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 6 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN KbP/seminar2: design11 Kontraktbaseret programmering Seminar 2 Klassedesign – grundprincipper Eksempler: Stack Dictionary.
Forelæsning 5.1 Brug af klassen Collections og interfacet Comparable samt parametriserede typer Projektuge: Ants and Spiders / Lommeregner dIntProg,
Objekter og klasser Rasmus D. Lehrmann DM
GP 6, 13/ Grundlæggende programmering Forår 2002 Forelæsning 6 onsdag 13/ kl. 9:15 – 12:00.
Repetition: Introduktion til OOP med C# og .NET
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Forelæsning 2.2 Tilstand og opførsel (repetition)
Fundamentale sprogbegreber
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Repetition af dIntProg v/ Morten D. Bech. Tour de force Variabler Løkker Comparable ImErKo-reglen Eksamenssæt dIntProg, E13.
GP3, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 3 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
Forelæsning 7.1 – repetition
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn)
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Polymorfi Abstrakte klasser, substitutionsprincippet, statisk og dynamisk type.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Collectionklasser Klassifikation og anvendelse. dIntProg, F08Collectionklasser.2 Samlinger af objekter Objektreferencer –for at holde fast i et objekt.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
Fundamentale sprogbegreber Typer. dIntProg, F08Typer.2 Typer Primitive typer –boolean –byte, char, short, int, long, float, double Objekttyper –klassetype.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Forelæsning Uge 4 – Torsdag
Forelæsning Uge 3 – Mandag Niveauer af programbeskrivelser – Statiske / dynamiske beskrivelser ArrayList –Collection med variabelt antal elementer –Der.
Forelæsning Uge 4 – Torsdag
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 3 – Torsdag
Forelæsning Uge 3 – Torsdag
Forelæsning Uge 1 – Torsdag
Forelæsning Uge 6 – torsdag – repetition
Quiz – Uge 2 – torsdag – første time
Quiz – Uge 3 – mandag – første time
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 3 – Mandag
Quiz – Uge 3 – torsdag – første time
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 3 – Mandag
Programmering.
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Quiz – Uge 3 – torsdag – første time
Forelæsning Uge 2 – Mandag
Forelæsning Uge 3 – Mandag
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

Klasser og objekter (Afsnit 4 + 5 i manualen)

Grundbegreber Klasser og objekter Attributter og metoder Indkapsling beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed dIntProg, E14

Klasser og objekter Eksemplificér medDate-eksemplet i BlueJ dIntProg, E14

Tilstand og opførsel Tilstand Opførsel ethvert objekt har sin egen tilstand Opførsel objekters opførsel er defineret ved et sæt metoder udførelse af en metode kan ændre et objekts tilstand en metode kan have parametre; ved kald af metoden leveres et passende antal argumenter dIntProg, E14

Tilstand og opførsel for Wombat dIntProg, E14

Eksempler på basale begreber Tilstand Opførsel Feltvariabel Type Konstruktør Metodesignatur Metode Returtype Parameter Argument Accessor Mutator Tildeling dIntProg, E14

Tilstand og opførsel for Person dIntProg, E14

Klasse for begrebet Person public class Person { private String name; private int age; public Person(String n, int a) { name= n; age= 0; } public void birthday() { age= age + 1; } public int getAge() { return age; } } Tilstand Opførsel dIntProg, E14

Tilstand Attribut (feltvariabel) Primitiv type Objekttype Variabler public class Person { private String name; private int age; ... } Attribut (feltvariabel) access modifier type (værdi) navn Primitiv type int, boolean, ... 42, true, ... Objekttype String, Date, Skuespiller, ... ””, (3, 9, 2012), (”David”, 69) Variabler primitiv variabel: variabel der kan holde en værdi af den anførte type objektreference: variabel der kan referere til et objekt af den anførte type age 7 Primitiv variabel name ”David” Objekt-reference dIntProg, E14

Personreference og personobjekt (”David”, 69) Person p= new Person(”David”, 69); dIntProg, E14

Personreference og personobjekt (”David”, 71) Person p= new Person(”David”, 69); p.birthday(); p.birthday(); dIntProg, E14

En reference, to objekter p Person p; p= new Person(”David”, 69); p.birthday(); p (”David”, 70) Person p; p= new Person(”David”, 69); p.birthday(); p= new Person(”Chris”, 19); p Dej, udstiksforme og lakridssnøre… (”David”, 70) (”Chris”, 20) dIntProg, E14

Opførsel (metoder) Konstruktør Mutator (!) Accessor (?) Returtype public class Person { /** Opret en person * med navn n og alder a */ public Person(String n, int a) { ... } /** Personen fylder år **/ public void birthday() /** * Returnerer personens alder public int getAge() } Konstruktør ingen returtype samme navn som klassen Mutator (!) opdaterer (del af) objektets tilstand Accessor (?) aflæser (del af) objektets tilstand Returtype specificerer hvilken type værdi der returneres fra metoden (void  mutator) Parametre type og navn ved flere parametre adskilles med komma dIntProg, E14

Afskærmning (synlighed) public class Person { private String name; private int age; public Person(String n, int a) { ... } public void birthday() public int getAge() } Attributter objektets indkapslede tilstand erklæres (oftest) private kan kun tilgås fra klassens egne metoder (vedkommer ikke andre) Metoder objektets facade (også kaldet grænseflade) til omverdenen erklæres (oftest) public kan kaldes fra andre klasser signatur: hovedet af en metode (access modifier, returtype, navn og parametre) dIntProg, E14

Syntaktiske elementer i Java Keywords (nøgleord, reserverede ord) class, new, public, private Identifiers (navne) Person, p, a, turn, move, Date, day, month, year, ... Literals ”Aarhus Universitet”, 1928, ... Special characters (specialtegn) (, ), ., {, }, =, +,  ==, <, <=, //, /*, */, /**, ... White space linieskift, mellemrum, tab, ... kan indsættes vikårligt mellem syntaktiske elementer uden at betydningen påvirkes dIntProg, E14

Eksempel ? ? ? ? ? Keyword Identifiers Literals Special characters White space dIntProg, E14

Opsummering (engelsk/dansk) Object objekt, forekomst, instans Field feltvariabel, instansvariabel, attribut Constructor konstruktør Method metode Method signature metodesignatur Method body metodekrop Parameter return type og return statement Accessor (?) aflæsningsmetode Mutator (!) opdateringsmetode Assignment tildeling (=) Næste gang: Declaration erklæring (variabel, metode, ...) Initialization initialisering Block blok: { ... } Statement sætning dIntProg, E14