Java Classes & Objects

87 791 0
Java Classes & Objects

Đ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

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

Từ khóa liên quan

Mục lục

  • Chapter 4 Java Classes & Objects

  • Nội dung

  • Chương trình được tạo thành từ các đối tượng

  • Khái niệm lớp (Class)

  • Classes

  • Định nghĩa lớp

  • class

  • Sử dụng class

  • Định nghĩa hàm thành phần/p thức

  • Method

  • Ex: Lớp RectangleDemo

  • Khái niệm đối tượng

  • Tạo đối tượng

  • Accessing data members of a class

  • Access modifer

  • Public-ex

  • Protected-ex

  • Private

  • Default

  • Đặc tính Static

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

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

Tài liệu liên quan