Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D.

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

07 – Kort om OO Introduktion.
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
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
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
Item gennemgang  Item: 01 – Static factory methods  Item: 09 – Override hashCode  Item: 17 – Design & document inheritence  Item: 25 – Lists over arrays.
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
Selve objektet versus referencen til objektet Nedarvning
Objektorienteret programmering
09 – Arv og polymorfi i java
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Indledende Programmering Uge 5 - Efterår 2006 Om at udvikle korrekte og pålidelige programmer Susanne Lindros.
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.
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.
Forelæsning 3.1 Collections Javas for-each løkke
Indledende Programmering Uge 8 - Efterår 2006 Mere om abstraktioner Susanne Lindros.
Interfaces – brug. Overblik Tidligere: –Interfaces Comparable gør det muligt at bruge Collections metoderne –min, max, sort, … –Algoritmemønstre Find.
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
Eksempel på realisering af domænemodel
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
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
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
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
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Fundamentale sprogbegreber
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
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;
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Blå gruppe: Søren, Alexander, Torben, Lasse. De 4 vigtige items: - Singelton - Override clone judiciously - Use interfaces only to define type - Prefer.
Begreber og Redskaber 11. Plan for idag Lidt afrunding: Collections Framework i Java Noget om oversættere og sprog Evaluering Sidste gang øvelser før.
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 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.
I o p o DAIMI, AU, November 1999Programkonstruktion I9E.1 Konstruktion og brug af klasser – en stak og en HP-regnemaskine push pop.
Introduktion til programmering Repetition - ArrayList.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Programmering med interfaces Separering af specifikation, anvendelse og implementation.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Collectionklasser Klassifikation og anvendelse. dIntProg, F08Collectionklasser.2 Samlinger af objekter Objektreferencer –for at holde fast i et objekt.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
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;
DAIMIIntroducerende Objektorienteret Programmering8B.1 Interfaces En ren kontrakt.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Forelæsning Uge 3 – Mandag
Forelæsning Uge 3 – Mandag
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D

BFÅP Utility class (som Math), en samling af statiske felter og metoder Skal ikke initialiseres –Abstract class? Problem: Man kan nedarve og instantiere på den måde Løsning: Lav klassens constructor private // Noninstantiable utility class public class UtilityClass { // Suppress default constructor for noninstantiability private UtilityClass() { throw new AssertionError(); }... // Remainder omitted }

BFÅP Brug ikke public felter i public klasser, brug accessor- metoder Mere kontrol over adgangen til klassens felter Public felter kan forsvares hvis de også gøres final, så de ikke kan ændres class Dot { private int a; public Dot(int a) { this.a = a; } //getters public int getDot() { return a; } //setters public void setA(int a) { this.a = a; } }

BFÅP Unchecked warnings Ret dem du kan, men ikke alle er lette at rette Bevis at koden er “typesafe”, og brug Bedre end bare at ignorere advarslen: Man kan se hvis der kommer nye warnings public void myMethod ArrayList books = new ArrayList(); } ArrayList books = new ArrayList();

BFÅP Item 34: Emulering af udvidelige enums vha. Interfaces –Man kan ikke extende enums i Java, men man kan ”efterligne” effekten ved at bruge interfaces.

BFÅP Item 44: Skriv javadoc comments til alle API elementer –Skriv kommentar til klasser, interfaces, konstruktor, metoder, felter osv. Kode uden er umulig økonomisk og tidsmæssigt at vedligeholde!! –Tips: Det første javadoc comment til en klasse,interface, m.m. Indtil der kommer et punktum efterfulgt af komma, tages som opsummering af metoden. –Eks.: /** * Returns the char value at the specified index. An index ranges * from 0 to length() - 1. */

BFÅP Item 44: Skriv javadoc comments til alle API elementer –Der er HTML formattering i javadoc comments. Eks.: /** This is a bolded javadoc comment*/ Kan give visse problemer, f.eks. Ikke muligt at skrive HTML metacharacters i koden eksempelvis: –Løsning: brug: 1. tagget da den udelader HTML formatering, og giver koden en code font. Eks. The param x must reside in the range: 0 arr.length} 2. tagget da den udelader HTML formatering. Eks.: The param x must fit in the equation: x+y < y*y} –Foretrukkent at sørge for læsbarhed i både sourcecoden og den generede javadoc. Hvis begge ikke kan opnås tager den generede kode førset prioriteten.

BFÅP Item 54: Brug JNI med omtanke –JNI(Java Native Interface) C,C++, m.m. skrevne native/speciale methods. –Til hvilken nytte? Adgang til legacy libraries Native kode ekserkveres hurtigt. –Hvorfor med omtanke? Unsafe JVM(Java Virtual Machine) er blevet meget hurtigere. –Native kode sjældent hurtigere mere. Mindre portabelt