Tải bản đầy đủ (.ppt) (21 trang)

Giới thiệu về lớp pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (318.38 KB, 21 trang )

Giới thiệu về lớp
Bài 3
Bài 03 / 2 of 20
Các nội dung chính

Tìm hiểu về Class

Tạo đối tượng

Giải thích về khái niệm method trong lớp

Cài đặt constructor

Các đặc điểm của kế thừa

Sự khác nhau giữa Overloading và Overriding của
method

Giải thích về access specifiers và method modifiers
Bài 03 / 3 of 20
Class

Một Class sẽ định nghĩa lên một kiểu dữ liệu mới

Mối một thể hiện của lớp sẽ cho một đối tượng mới

Sử dụng toán tử (.) để truy cập đến các properties và
methods của đối tượng

Ví dụ:


Person p = new Person(“Trainner”);

String s = p.Name;
Bài 03 / 4 of 20
Class

Các từ khóa truy cập đến lớp

public: lớp có thể được truy cập từ các gói, các chương
trình khác.

final: lớp sẽ là lớp hằng, ko thể tạo dẫn xuất (lớp vô
sinh).

abstract: lớp trừu tượng, ko có khai báo các phương
thức, thuộc tính trong lớp trừu tượng. Lớp dẫn xuất sẽ
khai báo, cài đặt thuộc tính, method của lớp trừu tượng.

Các method được khai báo trong lớp trừu tượng không
thể là private or static
Bài 03 / 5 of 20
Mô tả một đối tượng

Khi một Class được tạo ra tức là một kiểu dữ liệu mới được
định nghĩa.

Đối tượng là một thể hiện của lớp.

Tạo đối tượng phải qua 2 bước xử lý:


Bước 1: Khai báo biến, một biến không định nghĩa nên
một đối tượng mà nó sử dụng để tham chiếu đến đối
tượng

Bước 2: Tạo đối tượng và gán cho biến (quá trình này
được thực hiện qua toán tử new)

Toán tử new sẽ cấp phát vùng nhớ động cho đối tượng và
trả về tham chiếu đến đối tượng đó.

Tất cả đối tượng phải được cấp phát động.
Bài 03 / 6 of 20
Tạo đối tượng

Tạo đối tượng phải qua 2 bước xử lý:

Bước 1: Person p; //khai báo biến

Bước 2: p = new Person(“Nampt”); //tạo
đối tượng và gán cho biến p.

Tuy nhiên ta có thể gộp 2 bước làm một:

Person p = new Person(“Nampt”);
Bài 03 / 7 of 20
Methods trong Classes

Một method được định nghĩa như một hành động của đối
tượng.


Cú pháp:
access_specifier modifier datatype method_name (parameter_list)
{
//body of method
}
Bài 03 / 8 of 20
Ví dụ về sử dụng method
class Temp
{
static int num = 10;
public static void show()
{
System.out.println(num);
}
public static void main(String [] arg)
{
Temp tobj = new Temp();
tobj.show();
Temp t1Obj = new Temp();
t1Obj.num = 20;
t1Obj.show();
}
}
Output
Bài 03 / 9 of 20
Đặc điểm hướng đối tượng trong
java

Có 3 đặc điểm chung: tính đóng gói (encapsulation), tính
đa hình (polymorphism), tính kế thừa(inheritance).


Tính đóng gói:

cho phép ẩn đi một phần dữ liệu cục bộ của đối tượng,
chỉ cho phép public ra ngoài những gì cần công bố để
trao đổi với đối tượng khác.

Đơn vị đóng gói cơ bản của java là class.
Bài 03 / 10 of 20
Đặc điểm hướng đối tượng trong
java

Tính đa hình

Cho phép một đối tượng có thể có nhiều kiểu khác
nhau.

Một biến có kiểu của lớp cha có thể tham chiếu đến bất
kì một đối tượng nào của lớp con, nhưng ko có chiều
ngược lại.

Tính kế thừa

Một lớp có thể kế thừa tất cả các phương thức, thuộc
tính của một lớp khác.

Sử dụng từ khóa extends để khai báo kế thừa.

Ex: class SinhVien extends Person{ … }
Bài 03 / 11 of 20

Methods trong Classes

Trong method có kiểu dữ liệu trả về không phải là void thì
trong thân method phải có câu lệnh return.

Nhiều method có các tham số
Bài 03 / 12 of 20
Constructors

Constructor là một method đặc biệt để khởi tạo giá trị cho
các properties của đối tượng.

Nó trùng tên với tên lớp và không có kiểu dữ liệu trả về

Nó tự động được gọi ngay sau khi đối tượng được tạo

Có 2 loại constructor:

Constructor có tham số

Constructor không có tham số (default constructor)

Khi định nghĩa một lớp mà ta không định nghĩa
constructor thì nó sẽ có một constructor ngầm định, tuy
nhiên nếu ta định nghĩa một constructor có tham số thì
constructor ngầm định sẽ không có.
Bài 03 / 13 of 20
Kế thừa (Inheritance)

Một lớp được kế thừa từ lớp khác thì được gòi là subclass (lớp

con)

Lớp mà để cho lớp khác kế thừa gọi là superclass (lớp cha)

Subclass có thể truy cập đến tất cả các thuộc tính và phương
thức của superclass.

Để kế thừa một lớp ta sử dụng từ khóa extends

Ví dụ: Lớp Student kế thừa từ lớp Person

Class Student extends Person
{
//định nghĩa các properties và method
}
Bài 03 / 14 of 20
Gọi constructor của lớp cha

Câu lệnh gọi constructor của lớp cha nên được đặt là
câu lệnh đầu tiên trong constructor của lớp con.

Từ khóa super() được sử dụng để gọi tới superclass
constructor.
Bài 03 / 15 of 20
Gọi constructor của lớp cha

Class Person
{ private String name;
public Person(String name)
{ this.name = name; }

}

Class Student
{ private String id;
public Student(String name, String id)
{
super(name);
this.id = id;
}
}
Bài 03 / 16 of 20
Methods Overloading

Đặc điểm của overloaded method:

Được định nghĩa trong cùng một class

Có cùng tên

Danh sách tham số khác nhau

Overloaded methods thể hiện tính đa hình trong quá trình
dịch (compile time)
Bài 03 / 17 of 20
Methods Overloading

Class Person
{ private int x;
public int count() { return x*2; }
public int count(int rate) { return x*rate ; }

}
Bài 03 / 18 of 20
Methods Overriding

Đặc điểm của overridden methods là:

Tồn tại trong lớp cha giống như trong lớp con.

Được định nghĩa lại trong lớp con.

Overridden methods thể hiện tính đa hình trong quá trình
thực thi (runtime)
Bài 03 / 19 of 20
Methods Overriding

Class Person
{ private int x;
public int count() { return x* 2; }
}

Class Account extends Person
{
public int count() { return x*3; }
}
Bài 03 / 20 of 20
Access Specifiers đối với Methods
có thể truy cập được từ bên ngoài
lớp khai báo.
có thể truy cập được từ lớp khai báo và
những lớp dẫn xuất từ nó.

chỉ được truy cập bên trong bản
thân lớp khai báo.
Bài 03 / 21 of 20
Method Modifiers

static: dùng chung cho tất cả các thể hiện của lớp, có nghĩa
là phương thức đó có thể được thực hiện kể cả khi không
có đối tượng của lớp chứa phương thức đó.

final: không được khai báo nạp chồng ở lớp dẫn xuất

abstract: không cần cài đặt, nó sẽ được cài đặt chi tiết trong
lớp dẫn xuất từ nó.

synchronized:dùng để ngăn các tác động của các đối tượng
khác lên đối tượng đang xét trong khi đang đồng bộ hóa.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×