Chương 3: Hướng đối tượng trong Java doc

50 294 0
Chương 3: Hướng đối tượng trong Java doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 3: Hư ng ñ i tư ng Java GVLT: Tr n Anh Dũng N i dung Các khái ni m b n v l p, ñ i tư ng L p ñ i tư ng java Tính đóng gói Tính k th a Tính ña hình Interface Các khái ni m b n ð i tư ng (object): Trong th gi i th c, khái ni m đ i tư ng có th xem m t th c th : ngư i, v t, b ng d li u,… ð i tư ng giúp hi u rõ th gi i th c Cơ s cho vi c cài ñ t máy tính M i đ i tư ng có đ nh danh, thu c tính, hành vi Ví d : ð i tư ng sinh viên MSSV: “TH0701001”; Tên sinh viên: “Nguy n Văn A” Các khái ni m b n H th ng ñ i tư ng: Là t p h p ñ i tư ng M i ñ i tư ng ñ m trách cơng vi c Các đ i tư ng có th trao đ i thơng tin v i Các đ i tư ng có th x lý song song, hay phân tán Các khái ni m b n L p (class): Là khuôn m u (template) ñ tư ng sinh ñ i Ví d : l p ñ i tư ng Sinhvien Sinh viên “Nguy n Văn A”, mã s TH0701001 → ñ i tư ng thu c l p Sinhvien Sinh viên “Nguy n Văn B”, mã s TH0701002 → ñ i tư ng thu c l p Sinhvien ð i tư ng (object) c a l p: M t ñ i tư ng c th thu c l p, th hi n c th c a l p L p đ i tư ng java (1) Khai báo l p class { } L p ñ i tư ng java (2) Thu c tính: Các đ c m mang giá tr c a ñ i tư ng, vùng d li u ñư c khai báo bên l p class { ; } Ki m sốt truy c p đ i v i thu c tính public protected private L p ñ i tư ng java (3) Phương th c: Ch c x tư ng lý, hành vi c a ñ i class { … () { … } } L p ñ i tư ng java (4) Ph m vi truy xu t public protected default private final: Khơng đư c khai báo ch ng (khơng đư c ghi đè l p con) l p d n xu t abstract: Khơng có ph n source code, s ñư c cài ñ t l p d n xu t L p ñ i tư ng java (5) static: Phương th c l p dùng chung cho t t c th hi n c a l p, có th đư c th c hi n c khơng có đ i tư ng c a l p native: ðây t khoá báo cho java bi t phương th c ñư c vi t b ng m t ngơn ng l p trình khơng ph i java ( thư ng ñư c vi t b ng C/C++) synchoronized: Dùng ñ ngăn nh ng tác ñ ng c a ñ i tư ng khác lên ñ i tư ng ñang xét ñang đ ng b hóa Dùng l p trình multithreads 10 L p tr u tư ng (3) public abstract class Shape{ static final double PI = 3.14159; public abstract double getArea(); public abstract double getVolume(); } class Circle extends Shape{ double radius; public double getArea() { return PI*radius*radius; } public double getVolume() { return 0; } } class Cube extends Shape{ double a, b, c; public double getArea() { return 2*(a*b+b*c+c*a); } public double getVolume() { return a*b*c; } } 36 Tham chi u super Là m t bi n tham chi u ñ n ñ i tư ng có ki u l p cha c a l p hi n t i Tham chi u super ñư c dùng ñ truy c p ñ n thành viên c a l p cha ñã b che b i l p constructor c a l p cha 37 Giao ti p – interface (1) Interface ñư c java đưa v i hai m c đích chính: ð t o l p s thu n o (khơng có b t kỳ phương th c ñư c cài ñ t) Th c hi n hành vi tương t k th a b i ð t o m t interface, ta dùng t khoá interface ð tri n khai m t interface dùng t khóa implements N u m t l p tri n khai nhi u interface? 38 Giao ti p – interface (2) M t s ý: Các trư ng interface static final T t c thành ph n c a m t giao di n t đ ng public v y ta khơng c n ph i thêm b t vào Ta khơng đư c phép thêm b t khác private, protected trư c khai báo interface M t interface có th th a k m t interface khác M t l p có th cài đ t m t hay nhi u interface ch có th th a k (extends) t m t l p 39 Giao ti p – interface (3) Ví d : ð nh nghĩa m t interface Shape t p tin shape.java public interface Shape{ //Tính di n tích public abstract double area(); //Tính th tích public abstract double volume(); //Tr v tên c a shape public abstract String getName(); } 40 Giao ti p – interface (4) //L p Point cài ñ t/hi n th c interface tên shape //ð nh nghĩa l p Point t p tin Point.java public class Point extends Object implements Shape { protected int x, y; //T a ñ x, y c a ñi m //Constructor không tham s public Point() { setPoint( 0, ); } //Constructor có tham s public Point(int xCoordinate, int yCoordinate) { setPoint( xCoordinate, yCoordinate ); } 41 Giao ti p – interface (5) //Gán t a ñ x, y cho ñi m public void setPoint( int xCoordinate, int yCoordinate ) { x = xCoordinate; y = yCoordinate; } //L y t a ñ x c a ñi m public int getX() { return x; } //L y t a ñ y c a ñi m public int getY() { return y; } 42 Giao ti p – interface (6) //Th hi n t a ñ c a ñi m dư i d ng chu i public String toString() { return "[" + x + ", " + y + "]"; } //Tính di n tích public double area() { return 0.0; } //Tính th tích public double volume() { return 0.0; } 43 Giao ti p – interface (7) //Tr v tên c a ñ i tư ng shape public String getName() { return "Point"; } } //End class Point 44 Giao ti p – interface (8) M t s ý: L p tri n khai interface ph i th c thi t t c phương th c ñư c khai báo interface, n u l p khơng tri n khai, ho c tri n khai khơng h t ph i đư c khai báo abstract Interface m t l p tr u tư ng v y ta không th t o th hi n c a interface M t interface có th m b ng hình th c k th a r ng m t interface khác, 45 Ph m vi truy c p 46 M t s lưu ý Java khơng có tốn t ph m vi (scope) :: Java khơng có h y t (destructor), ch có phương th c finalize() đư c g i b i Garbage Collector Java khơng có template Java khơng có t i toán t (operator overloading) 47 Bài t p Xây d ng l p Candidate (Thí sinh) g m thu c tính: mã, tên, ngày tháng năm sinh, m thi Tốn, Văn, Anh phương th c c n thi t Xây d ng l p TestCandidate ñ ki m tra l p trên: - Nh p vào n thí sinh (n ngư i dùng nh p) In thông tin v thí sinh có t ng m l n 15 48 Bài t p Xét ph n m m qu n lý nhân s Gi s Cơng ty có hai lo i nhân viên: nhân viên văn phòng nhân viên s n xu t Vi t chương trình qu n lý tính lương cho t ng nhân viên c a công ty: - - M i nhân viên c n qu n lý thông tin sau: H tên, ngày sinh, lương Công ty c n tính lương cho nhân viên sau: - ð i v i nhân viên s n xu t: - Lương=lương b n + s s n ph m * 5.000 - ð i v i nhân viên văn phòng: - lương = s ngày làm vi c * 100.000 49 H i & ñáp 50 ... p 46 M t s lưu ý Java khơng có tốn t ph m vi (scope) :: Java khơng có h y t (destructor), ch có phương th c finalize() đư c g i b i Garbage Collector Java khơng có template Java khơng có q t... sv = new Sinhvien(); 16 Kh i vô danh Trong java ta có th đ t m t kh i l nh không thu c m t phương th c Khi kh i l nh đư c g i kh i vô danh, kh i vô danh ñư c java g i th c thi m t ñ i tư ng ñư... private L p đ i tư ng java (3) Phương th c: Ch c x tư ng lý, hành vi c a ñ i class { … () { … } } L p ñ i tư ng java (4) Ph m vi truy

Ngày đăng: 27/07/2014, 19:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan