Thông tin tài liệu
Java Simplified / Session 22 / 1 of 45 Chapter 4 Java Classes & Objects Nguy n Th Thanh Vân - CNTTễ ị Java Simplified / Session 22 / 2 of 45 Class Object Access Modifier: public, private, protected Static Inheritence Constructor Overloading và Overriding this() và super(); Truyền tham số và các lời gọi hàm Interface Nội dung Java Simplified / Session 22 / 3 of 45 Mỗi đối tượng chịu trách nhiệm thực hiện một tập tác vụ có liên quan với nhau Đối tượng có thể yêu cầu một đối tượng khác thực hiện tác vụ. ◦ “If I can’t do it, then I’ll ask somebody who can.” Các đối tượng tương tác với nhau bằng cách gởi thông điệp Chương trình được tạo thành từ các đối tượng Java Simplified / Session 22 / 4 of 45 Mẫu (khung thức) mà từ đó các đối tượng thực sự được tạo ra Tất cả các đoạn code trong Java đều nằm bên trong một lớp Khi ta xây dựng một đối tượng (object) từ một lớp, có thể nói ta đã tạo một thể hiện (instance) của lớp Khái niệm lớp (Class) Java Simplified / Session 22 / 5 of 45 Class components Data members (Attributes) Method 1 Method 2 La dơn vị cơ bản trong lập trình Java. Classes Java Simplified / Session 22 / 6 of 45 [<phạm vi hoặc kiểm soát truy nhập>] class <Tên lớp> [extends <Tên lớp cha>] [implements<tên giao diện>] { <Các thành phần của lớp> } class, extends, implements: từ khóa Các kiểu lớp trong Java: ◦ Built-in ◦ User-defined Định nghĩa lớp Java Simplified / Session 22 / 7 of 45 Một chương trình có thể có nhiều lớp và các lớp có thể: ◦ Trong 1 file duy nhất. ◦ Trong nhiều file khác nhau, và các file này có thể nằm trong cùng một Package hay nằm trong nhiều Package khác nhau class class abc { class cdf { void method1() {} void method2() {} } class ghk { } public static void main(String[] args) { } } Java Simplified / Session 22 / 8 of 45 Lớp được sử dụng khi chương trình cần một đối tượng có kiểu của lớp đó. <tên lớp> <tên đối tượng> = new <tên lớp>(); Ví dụ Person myClass = new Person(); Sử dụng class Java Simplified / Session 22 / 9 of 45 Hàm: Hành vi của các đối tượng trong một lớp Cú pháp định nghĩa: [<Phạm vi hoặc thuộc tính kiểm soát truy nhập>]<Kiểu trả về><Tên phương thức> ([<Danh sách tham biến hình thức>]) [<Mệnh đề throws>] { <Nội dung pt> } Trong đó ◦ <Kiểu trả về> có thể là kiểu nguyên thủy, kiểu lớp hoặc không có giá trị trả lại (kiểu void) ◦ <Danh sách tham biến hình thức> bao gồm dãy các tham biến (kiểu và tên) phân cách với nhau bởi dấu phẩy. Định nghĩa hàm thành phần/p thức Java Simplified / Session 22 / 10 of 45 The flow of control following method invocations Method [...]... trên): chỉ cho phép truy nhập đối với các lớp trong cùng gói, kể cả các lớp con Không cho phép kế thừa Java Simplified / Session 22 / 15 of 45 Public-ex Java Simplified / Session 22 / 16 of 45 Protected-ex Java Simplified / Session 22 / 17 of 45 Private Java Simplified / Session 22 / 18 of 45 Default Java Simplified / Session 22 / 19 of 45 Đặc tính Static Khi khai báo các thành phần của lớp: ◦ có staitc:... được khai báo protected và public của lớp cha Java Simplified / Session 22 / 26 of 45 Inheritance Example: class Parent { … } class Child1 extends Parent { //Các thuộc tính dữ liệu bổ sung // các hàm tp bổ sung } class Child2 extends Parent { … } Java Simplified / Session 22 / 27 of 45 Ví dụ về thừa kế Java Simplified / Session 22 / 28 of 45 Member access & Inheritance Inheriting a class does not overrule... chương trình Java phải có một lớp định nghĩa phương thức main • Phương thức main() được gọi bởi JVM để bắt đầu chương trình Java Simplified / Session 22 / 11 of 45 Khái niệm đối tượng Đối tượng là một thể hiện của một lớp Mỗi đối tượng có các hành vi được định nghĩa bởi các phương thức mà ta có thể gọi ◦ Ta có thể làm gì với đối tượng này? ◦ Các phương thức nào ta có thể áp dụng cho nó? Java Simplified... constructors Nạp chồng phương thức Ghi đè phương thức Toán tử móc xích giữa các lớp kế thừa Ngăn kế thừa với khai báo final Java Simplified / Session 22 / 23 of 45 Thừa kế (Inheritance) • Tạo ra một lớp mới từ lớp có sẵn • Sử dụng lại thuộc tính và phương thức Java Simplified / Session 22 / 24 of 45 Inheritance Superclass (Base class) ◦ Là lớp mà từ đó lớp con được dẫn xuất ◦ Có thể gọi là... định thêm t/c, hành vì của những đt cụ thể hơn Java Simplified / Session 22 / 25 of 45 Inheritance Sử dụng từ khoá extends để khai báo sự thừa kế Một lớp có thể dẫn xuất trực tiếp từ duy nhất một lớp (đơn thừa kế) Nếu một lớp không có bất kỳ lớp cha nào thì mặc nhiên nó cũng được dẫn xuất từ lớp Object ◦ Lớp Object là cha của tất cả các lớp trong Java Một lớp con có thể thừa kế tất cả các thành... System.out.println(So1.y); } } Java Simplified / Session 22 / 21 of 45 Static method - ex Cannot make a static reference to the non-static field x class methodStatic { private int x=2; private static int y=3; public static void setxy() { x++; //error y++; } public static void main(String[] args){ methodStatic So2 = new methodStatic(); So2.setxy(); System.out.println(So2.x); System.out.println(So2.y); } } Java Simplified... có constructor: trình biên dịch sẽ cung cấp constructor mặc định (không làm gì cả, null, false,0) cho lớp đó Java Simplified / Session 22 / 31 of 45 Khai báo constructor [] (){ // Nội dung cần tạo lập } []: public, protected, private, default Java Simplified / Session 22 / 32 of 45 Constructor Class without constructor Class with constructor class VdConstructor... thi đoạn code khác trong Constructor lớp con ◦ Có gọi tường minh constructor của lớp cha bằng cách sử dụng từ khoá super trong phần đặc tả constructor của lớp dẫn xuất Java Simplified / Session 22 / 35 of 45 Chuỗi constructor Parent F1 F2 Java Simplified / Session 22 / 36 of 45 ... getGraphics(); object_name.data_member_name Or object_name.method_name g.drawOval(x,y,radius,radius); } } … circle myShape = new circle(); myShape.setRadius(100); myShape.x=100; myShape.y=100; myShape.display(); Java Simplified / Session 22 / 14 of 45 Access modifer Chỉ ra mức độ truy xuất được cho phép đối với các thành phần dữ liệu và các phương thức của đối tượng ◦ public: có thể được truy cập mọi nơi trong... Triangle ve1 = new Triangle(); ve1.showDim(); System.out.println(ve1.area()); ve1.showStyle(); } } class Triangle extends vdInher { String style; double area() { return width * height / 2;//(1) Erorr } } Java Simplified / Session 22 / 29 of 45 Solution class vdPrivate { private double width; private double height; double getWidth(){ return width;} double getHeight(){ return height;} void showDim(){ System.out.println("Width . Java Simplified / Session 22 / 1 of 45 Chapter 4 Java Classes & Objects Nguy n Th Thanh Vân - CNTTễ ị Java Simplified / Session 22 / 2 of 45 Class Object Access Modifier:. thừa. Access modifer Java Simplified / Session 22 / 16 of 45 Public-ex Java Simplified / Session 22 / 17 of 45 Protected-ex Java Simplified / Session 22 / 18 of 45 Private Java Simplified / Session. nó? Java Simplified / Session 22 / 13 of 45 Tạo đối tượng • Một đối tượng phải được tạo trước khi sử dụng trong một chương trình 1. Declaration: Class_name object_ name; 3. Instantiation: Object_ name
Ngày đăng: 12/04/2015, 03:08
Xem thêm: Java Classes & Objects, Java Classes & Objects, Khái niệm lớp (Class), Định nghĩa hàm thành phần/p thức, Khái niệm đối tượng, Ví dụ về thừa kế, Constructor – toán tử tạo lập, Các nguyên tắc của Constructor, Toán tử móc xích giữa các lớp kế thừa, Nạp chồng các phương thức, Ví dụ lớp và phương thức trừu tượng, Thực thi giao tiếp, Lớp con (trong /inner)