Tải bản đầy đủ (.pptx) (87 trang)

Java Classes & Objects

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 (1.26 MB, 87 trang )

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
Java Simplified / Session 22 / 11 of 45
Ex: Lớp RectangleDemo

Để có thể thực thi, 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 / 12 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 / 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 = new class_name();
Java Simplified / Session 22 / 14 of 45
Syntax to access the
data members of a class
outside the class:
object_name.data_member_name
Or
object_name.method_name
Example:
class circle {
int x, y, radius;
void setRadius(int r) {
Radius = r;
}
void display() {
Graphics g = getGraphics();

g.drawOval(x,y,radius,radius);
}
}
….
circle myShape = new circle();
myShape.setRadius(100);
myShape.x=100;
myShape.y=100;
myShape.display();
Accessing data members of a class
Java Simplified / Session 22 / 15 of 45

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 hệ thống và
được thừa kế bởi các lớp con của nó.

private: có thể được truy cập trong chính lớp đó. Không
cho phép kế thừa

protected: có thể được truy cập và thừa kế bởi các lớp
con và có thể truy xuất bởi mã lệnh của cùng gói đó.

Default (không khai báo 3 kiểu 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.
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 22 / 19 of 45
Default
Java Simplified / Session 22 / 20 of 45

Khi khai báo các thành phần của lớp:
◦ có staitc: những thành phần đó dùng chung cho tất
cả đối tượng trong một lớp
◦ Không có static: thường mỗi biến đều có bản sao
các giá trị riêng của từng đối tượng.

Truy nhập tới các thuộc tính dữ liệu static có thể
thực hiện

Thông qua tên lớp
◦ Thông qua tên đối tượng

Các hàm thành phần static chỉ được phép truy
nhập các tp tĩnh khác, không cho phép truy
nhập tới các tp không khai báo static
Đặc tính Static
Java Simplified / Session 22 / 21 of 45
class varStatic {
int x=2;
static int y=3;
varStatic(){

x++; y++; }
public static void main(String[] args){
varStatic So = new varStatic();
System.out.println(So.x);
System.out.println(So.y);
varStatic So1 = new varStatic();
System.out.println(So1.x);
System.out.println(So1.y);
}
}
Static variable- ex
Biến y dùng chung
Biến x: bản sao
x: không thay đổi
y: thay đổi
Java Simplified / Session 22 / 22 of 45
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);
}
}
Static method - ex

Cannot make a
static reference
to the non-static
field x
Java Simplified / Session 22 / 23 of 45

Khái niệm

Cú pháp

Truy cập thành phần lớp cha

Toán tử tạo lập

Kế thừa constructor

Chuỗi 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
Thừa kế (Inheritance)
Java Simplified / Session 22 / 24 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 / 25 of 45

Superclass (Base class)

Là lớp mà từ đó lớp con được dẫn xuất

Có thể gọi là lớp cơ sở hoặc lớp cha

Subclass (Derived class)
◦ Là lớp được dẫn xuất từ lớp khác

Có thể gọi là lớp dẫn xuất hoặc lớp con

có thể kế thừa:

các thuộc tính dữ liệu và

hàm tp của lớp cha; - và

có thể bổ sung thêm để xác định thêm t/c, hành vì của những đt cụ
thể hơn.
Inheritance

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

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