Fundamentale sprogbegreber Typer. dIntProg, F08Typer.2 Typer Primitive typer –boolean –byte, char, short, int, long, float, double Objekttyper –klassetype.

Slides:



Advertisements
Lignende præsentationer
Datastrukturer Simple-type structs
Advertisements

Selve objektet versus referencen til objektet Nedarvning
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.
NOEA/IT - FEN1 Typeparametisering/Genericity Generics i.NET 2 og C#
Intro Forelæsning 6 Linux Install Party i PC-Cafeen i morgen.
Begreber og Redskaber 2 BRP.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
1 Unified Expression Language Copyright © Lund & Bendsen A/S Unified Expression Language.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Begreber og Redskaber 2. Plan for idag Noget om bestanddelene i et programmeringssprog Syntaksbeskrivelse af java Næste gang: –Binære tal –Repræsentation.
Forelæsning 3.1 Collections Javas for-each løkke
Delphi og C++ Builder C++ Builder. C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup En objektorienteret videreudvikling.
Af Ulrik, Ella-Josephine, Nikolaos og Christoffer.
Fundamentale datastrukturer
Forelæsning 5.1 Brug af klassen Collections og interfacet Comparable samt parametriserede typer Projektuge: Ants and Spiders / Lommeregner dIntProg,
GP2, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 2 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
Klasser.
GP8, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 8 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Primitive typer. dIntProg, F08Typer.2 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d =
Fundamentale sprogbegreber
Begreber og Redskaber 1. Plan for kurset Formål –Give et begrebsmæssigt grundlag for programudvikling, samt overblik over udvalg af redskaber og metoder.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner findEn findAlle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed.
Repetition af dIntProg v/ Morten D. Bech. Tour de force Variabler Løkker Comparable ImErKo-reglen Eksamenssæt dIntProg, E13.
GP4, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 4 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
C#: Data Typer. 2 Nordjyllands Erhvervakademi Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies,
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
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Quiz 3.1. Quiz 1 – Assignment dIntProg, E14 Hvad er værdierne af x og y efter udførelse af følgende program? 1.x er 6, y er 3 2.x er 8, y er 5 3.x er.
I o p o DAIMI, AU, November 1999Programkonstruktion I9E.1 Konstruktion og brug af klasser – en stak og en HP-regnemaskine push pop.
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn)
Variabler, klassevariabler, identitet og lighed, collections
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.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
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)
Introduktion til objektorientering OO, Java og BlueJ.
Polymorfi Abstrakte klasser, substitutionsprincippet, statisk og dynamisk type.
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
Kari Rye Schougaard, Ph.d.-stud. Værktøjer og Teknikker, 2006 A A R H U S U N I V E R S I T E T DATALOGISK INSTITUT Java på 20 minutter (eller lidt mere)
Programmering med interfaces Separering af specifikation, anvendelse og implementation.
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.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Algoritmeskabeloner findOne, findAll, findNoOf, findSumOf Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder.
Forelæsning Uge 2 – Torsdag
1587 Server - Blandet miljø Webintegrator HF1
Forelæsning Uge 4 – Mandag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 6 – torsdag – repetition
Forelæsning Uge 2 – Mandag
Klasser og objekter (Afsnit i manualen).
Forelæsning Uge 4 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

Fundamentale sprogbegreber Typer

dIntProg, F08Typer.2 Typer Primitive typer –boolean –byte, char, short, int, long, float, double Objekttyper –klassetype –interfacetype –arraytype Regel –bland ikke usammenlignelige typer Subtyper –Javas definition på hvornår typer er sammenlignelige

dIntProg, F08Typer.3 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d = 3.14; i = 7; d = i // ok i = d // ej ok! ≤

dIntProg, F08Typer.4 Subtyperelation for objekttyper Aktør SkuespillerKoreograf klap (heltal n) drej (heltal n) skrivAntalTricks() ElevGnavpotKarakter… Aktør Koreograf ≤ Skuespiller ≤ Aktør ≤ Object Elev ≤ Karakter... ≤ Skuespiller Gnavpot ≤ Object

dIntProg, F08Typer.5 Eksempler Skuespiller s; Gnavpot g; s= new Skuespiller(...); g= new Gnavpot(...); s= g; // ok g= s; // ej ok! Skuespiller Gnavpot Køretøj k; Cykel c; k= new Bil(...);// ok c= new Cykel(...); k= c; // ok c= k; // ej ok! Køretøj Cykel Bil

dIntProg, F08Typer.6 Typeregel for assignment Assignmentsætningen giver kun mening når typen af udtrykket på højresiden er en subtype af variablen på venstresiden. v= exp; T(v) ≥ T(Exp) Det giver mening at assigne et cykelobjekt til en variabel af typen Køretøj, men det giver ikke mening at assigne et køretøj (der kan være mange forskellige ting) til en variabel af typen Cykel. Køretøj Cykel

dIntProg, F08Typer.7 Forfremmelse og begrænsning (1) Forfremmelse –En værdi af en subtype kan ved en implicit typekonvertering (automatisk) forfremmes til en værdi af en supertype Begrænsning –En værdi af en supertype kan ved en eksplicit typekonvertering (et såkaldt ”type cast”) begrænses til en værdi af en subtype Eksempel: 9 + (int) ((6 * 2) / 2.5) 9 + (int) ( 12 / 2.5) 9 + (int) ( 12.0 / 2.5) 9 + (int)

dIntProg, F08Typer.8 Forfremmelse og begrænsning (2) double d1, d2; int i; d2= 3.14; // ok? d1= 7; // ok? i= d1; // ok? i= d2; // ok? i= (int) d1; // ok? i= (int) d2; // ok? int ≤ double

dIntProg, F08Typer.9 Forfremmelse og begrænsning (3) Køretøj k1, k2; Cykel c; k1= new Bil(...); // ok? k2= new Cykel(...); // ok? c= k1; // ok? c= k2; // ok? c= (Cykel) k1; // ok? c= (Cykel) k2; // ok? Cykel ≤ Køretøj Bil ≤ Køretøj Køretøj Cykel Bil

dIntProg, F08Typer.10 Konstanter (literals) LiteralType 2int 2.0double ‘2’char “2”String “two”String

dIntProg, F08Typer.11 Advarsel: Java behandler tegn som tal Javas subtyperelation: char ≤ int ≤ double Forfremmelse automatisk hvis det er nødvendigt evaluerer til 3.5 ‘2’ + 1 evaluerer til 51 !!! Begrænsning kun ved eksplicitte cast (int) ( ) evaluerer til 3 (char) (‘2’ + 1) evaluerer til ‘3’