FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course
FEN IntroJava AAU2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel Indkapsling –afskærmning –datarepræsentationsuafhængighed
FEN IntroJava AAU3 Klasse og Objekter Klassen beskriver objekterne Objekter er de faktiske forekomster Flere objekter af samme klasse
FEN IntroJava AAU4 Tilstand Et hvert objekt har sin egen tilstand defineret af attributværdierne (instansvariablene) Attributter har typer Attributter kan være simple eller referencer til andre objekter – strings er også objekter public class Student { // instance variables private String name; private String addr; private int age; private Course follows; //--- }
FEN IntroJava AAU5 Opførsel Opførsel er defineret ved metoder Udførelse af en metode kan ændre eller aflæse objektets tilstand Metoder kan have parametre (argumenter) //--- public void setAddr(String a) { addr= a; } public String getAddr() { return addr; } public void celebrateBirthDay() { System.out.println("It is my birthday!"); age++; } //---
FEN IntroJava AAU6 Metoder og objektreferencer Attributter kan være referencer til andre objekter Metoder er opbygget af program- sætninger En sætning kan være kald af en metode på et objekt, som refereres Så udføres metoden på det refererede objekt //--- private Course follows; //--- public void print() { System.out.println("Name: "+name); System.out.println("Address: "+addr); System.out.println("Age: "+age); if(follows!=null) follows.print(); } //--- public void print(){//From class Course System.out.println("Course Title: "+title); System.out.println("Grade: "+grade); }
FEN IntroJava AAU7 En klasses anatomi Indkapsling: –Attributter er normalt private –Metoder public Constructor: –Ingen returtype –Samme navn som klassen Metoder: –Accessor –Mutator –Returtype –parametre public class Course { private String title; private int grade; //Constructor for objects of class Course public Course(String t){…} public String getTitle() {…} public int getGrade(){…} public void setGrade(int g){…} public boolean passed(){…} public void print(){…} }
FEN IntroJava AAU8 Syntaktiske elementer i Java Keywords (nøgleord, reserverede ord) –class, new, public, private Identifiers (navne) –Course, follows, a, print, String,... Literals –”Aalborg Universitet”, 1928,.. Special characters (specialtegn) –(, ),., {, }, =, +, ==, <, <=, //, /*, */, /**,... White space –linieskift, mellemrum, tab,... –kan indsættes vilkårligt mellem syntaktiske elementer uden at betydningen påvirkes
FEN IntroJava AAU9 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