class Rectangle int height int width public Rectangle
Παραδείγματα κατασκευαστών class Rectangle { int height; int width; public Rectangle ( ) int height; int width; public Rectangle (int rect. Height, int rect. Width) height = rect. Height; height = 1; width = 1; } { { { } class Rectangle width = rect. Width; } }
Παράδειγμα πολλαπλών κατασκευαστών class my. Class { int a; int b; my. Class() { a = 0; b = 0; } my. Class( int alpha, int beta ) { a = alpha; b=beta; } } α) my. Class Test 1 = new my. Class( ); Καλείται ο constructor χωρίς ορίσματα (default constructor), συνεπώς: a=0 b=0 β) my. Class Test 2 = new my. Class( 2 , 3 ); a=2 b=3
Παράδειγμα class Employee { int salary; public void set. Salary (int employee. Salary ) { salary = employee. Salary } int get. Salary ( ) { return salary; } } Employee John=new Employee ( ); John. set. Salary (1200); int some. Salary =John. get. Salary ( );
Παράδειγμα Folder 1 Folder 2 A 11. java A 12. java A 11. java: package Folder 1; class A 11 { Class Implementation…. . } A 12. java: package Folder 1; class A 12 { class implementation……} A 21. java: A 21. java A 22. java package Folder 2; class A 21 { Class implementation} A 22. java: package Folder 2; import Folder 1. A 11; class A 22 { Class implementation}
Ένα παράδειγμα κληρονομικότητας class Parent { int a; public void foo () {…. . } } class Child extends Parent { int b; public void test( ); } Parent Child my. Child; my. Child. foo(); my. Child. a = some. Integer ; Έγκυρες κλήσεις, εφόσον η κλάση Child κληρονομεί μεταβλητές και μεθόδους της κλάσης Parent
Αρχικοποίηση υποκλάσεων (πολλαπλοί κατασκευαστές) class Parent { int a; int b; Parent ( ) { a = 0; b = 0; } Parent(int alpha, int beta) { a = alpha; b = beta; } } class Child extends Parent { Child( ) {} Child (int alpha, int beta) { super (alpha, beta); } } Child my. Child = new Child(); Καλεί τον default constructor του Parent, άρα α=b=0 Child my. Child = new Child ( 1 , 2 ); a = 1, b = 2
Παραδείγματα private final int a = 5; a=6; ΛΑΘΟΣ class A { public final void foo(); } class B extends A { public void foo( ) {. . . } } ΛΑΘΟΣ final class A { …. . } class B extends A { …} ΛΑΘΟΣ
Παράδειγμα abstract public class Shape { abstract public void Draw ( ); } public class Circle extends Shape { public void Draw ( ) { κώδικας σχεδίασης κύκλου} } public class Rectangle extends Shape { public void Draw ( ) { κώδικας σχεδίασης ορθογωνίου} }
Interfaces - Παράδειγμα public interface my. Interface { public void foo( ); public void foo 2( String str ); } public class Test extends some. Parent. Class implements my. Interface { public void foo ( ) { Function code here…} public void foo 2 ( String str ) { Function code here…} }
Παράδειγμα class my. Class { public static int a = 1; } my. Class first = new my. Class ( ); my. Class second = new my. Class ( ); first. a = 2 ; Η μεταβλητή a παίρνει την τιμή 2 και στα δύο αντικείμενα δηλ. ισχύει first. a = 2 KAI second. a = 2
- Slides: 31