Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.

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.
Selve objektet versus referencen til objektet Nedarvning
09 – Arv og polymorfi i java
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Structs Structs allokeres på stakken Memory-allokering sker ved oprettelse af variabel og ikke ved new Der kan defineres metoder incl. Constructor. Eksempel.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Delphi og C++ Builder C++ Referencer og pointere.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
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.
Fundamentale datastrukturer
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
GP 5, 26/ Grundlæggende programmering Efterår 2001 Forelæsning 5 onsdag 26/ kl. 9:15 – 12:00.
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.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Repetition: Introduktion til OOP med C# og .NET
GP 3, 12/ Grundlæggende programmering Efterår 2001 Forelæsning 3 onsdag 12/ kl. 9:15 – 12:00.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Forelæsning 2.2 Tilstand og opførsel (repetition)
Fundamentale sprogbegreber
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)
Variabler, klassevariabler, identitet og lighed, collections
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
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,
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Indledende Programmering Uge 6 - Efterår 2006
Polymorfi Abstrakte klasser, substitutionsprincippet, statisk og dynamisk type.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
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,
 Jens Bennedsen 2001Multimedie programmering3B.1 Specifikationer Betingelser, specifikationer og JavaDoc.
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.
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;
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
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;
Objecter Introduktion Webintegrator HF1 PHP Object orienteret.
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 2 – Torsdag
Quiz – Uge 3 – mandag – første time
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 3 – Mandag
Klasser og objekter (Afsnit i manualen).
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

Klasser og objekter

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

dIntProg, F08Klasser og objekter.3 Klasser og objekter

dIntProg, F08Klasser og objekter.4 Tilstand og opførsel Tilstand –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, F08Klasser og objekter.5 Klasse for begrebet aktør public class Actor { private String name; private int number; public Actor(String n) { name= n; antal= 0; } private void clapOnce() { number= number + 1; } public int noOfTricks() { return number; } } Opførsel Tilstand

dIntProg, F08Klasser og objekter.6 Tilstand Attribut (feltvariabel) –type –værdi Primitiv type –int, boolean,... –42, true,... Objekttype –String, Date, Skuespiller,... –””, (29, 8, 203), (”Ghita”, 7) 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 name ”Ghita” number 7 Objekt-reference public class Actor { private int number; private String name;... } Primitiv variabel

dIntProg, F08Klasser og objekter.7 Et skuespillerobjekt skuespil1 (”Ghita”, 7) Actor skuespil1= new Actor(”Ghita”); skuespil1.turn(7);

dIntProg, F08Klasser og objekter.8 Et skuespillerobjekt skuespil1 (, 7) Actor skuespil1= new Actor(”Ghita”); skuespil1.turn(7); ”Ghita”

dIntProg, F08Klasser og objekter.9 Objektreferencer og objekter (1) anActor ( ”Ghita”, 7) Actor anActor; anActor= new Actor(”Ghita”); anActor.turn(7); anActor= new Actor(”Fritz”); anActor.clap(3); ( ”Fritz”, 3) anActor ( ”Ghita”, 7) Actor anActor; anActor= new Actor(”Ghita”); anActor.turn(7); anActor

dIntProg, F08Klasser og objekter.10 Objektreferencer og objekter (2) a ( ”Ghita”, 10) Actor a, b; a= new Actor(”Ghita”); a.turn(7); b= a; b.clap(3); Delte referencer b int a, b; a= 7; b= a; b= b + 1; a b 7 8

dIntProg, F08Klasser og objekter.11 Opførsel (metoder) Konstruktør –ingen returtype –samme navn som klassen Mutator (!) –opdaterer (del af) objektets tilstand Accessor/Inspector (?) –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 public class Actor { /** Opret en skuespiller * med navn n */ public Actor(String n) {... } /** Skuespilleren klapper **/ private void clapOnce() {... } /** Returnerer antal tricks * skuespilleren har lavet */ til dato public int noOfTricks() {... } }

dIntProg, F08Klasser og objekter.12 Afskærmning (synlighed) Attributter –objektets indkapslede tilstand –erklæres (oftest) private –kan kun tilgås fra klassens egne metoder Metoder –objektets facade (også kaldet grænseflade) til omverdenen –erklæres (oftest) public –kan tilgås fra alle andre klasser public class Actor { private String name; private int number; public Actor(String n) {... } private void clapOnce() {... } public void clap(int n) {... } public int noOfTricks() {... } }

dIntProg, F08Klasser og objekter.13 Syntaktiske elementer i Java Keywords (nøgleord, reserverede ord) –class, new, public, private Identifiers (navne) –Actor, ghitaNørby, a, clap, turn, 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, F08Klasser og objekter.14 Eksempel public class Director { String name; public void directPlayA() { Actor a, b; a= new Actor(”Ghita”); a.turn(7); b= a; b.clap(3); } KeywordIdentifiersLiteralsSpecial characters White space ???? ?

dIntProg, F08Klasser og objekter.15 Opsummering (engelsk/dansk) Object –objekt, forekomst, instans Field, instance variable –feltvariabel, instansvariabel, attribut Constructor –konstruktør Method –metode / operation Method signature –metodesignatur Method body –metodekrop Parameter return type og return statement Accessor –aflæsningsmetode Mutator –opdateringsmetode Declaration –erklæring Initialization –initialisering Block –blok Statement –sætning Assignment –tildeling