1. Trang chủ
  2. » Kỹ Năng Mềm

Nhap mon Lap trinh Huong doi tuong

30 17 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một hành động cần có của một đối tượng hoặc thực thể khi được biểu thị trong một lớp được gọi là một phương thức.. - VD: các phương thức của sinh viên: Viết lý lịch,.[r]

Trang 1

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Sự khác nhau giửa lập trình hướng đối tượng và lập trình cấu trúc (truyền

Trang 2

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Diễn đạt “thiếu tự nhiên”

Có học sinh x

“Viết lý lịch cho học sinh x”

“x ơi, viết lý lịch đi em”

Diễn đạt nào tự nhiên hơn?

“x ơi, viết lý lịch đi em”

VietLyLich(x);

x.VietLyLich();

NHƯỢC ĐIỂM CỦA POP

Trang 3

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Khó mô tả những quan hệ phức tạp của thế giới

tự nhiên Biểu diễn dạng cấu trúc “phức tạp”

không phải là dễ dàng đối với nhiều người

Quan hệ giữa các dữ liệu được biểu diễn bằng cấu trúc lồng nhau hoặc một pointer 

Tính phân lớp khó được phát hiện, có khó

khăn trong biểu diễn lẫn tính dễ hiểu

Trang 4

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Bảo mật kém do không thể giới hạn truy xuất đến một dữ liệu

x.Age=1000;

x.Score=-20;

}

Trang 5

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Cần một phương pháp lập trình khác giúp giải quyết những nhược điểm này.

OOP có những đặc điểm vượt trội so với POP và là hướng lập trình chủ đạo hiện

nay

Trang 6

Diễn đạt hướng đối tượng

Thí dụ 1 : Xét hai diễn đạt:

• Nhân viên văn phòng viết lý lịch cho sinh viên “Hoàng” 

ViếtLýLịch(Hoàng);

• Hoàng ơi, viết lý lịch đi em.Hoàng.ViếtLýLịch();

 Theo bạn, tình huống nào đúng với thực tế?

Thí dụ 2 : Xét hai diễn đạt:

• Tính tổng mảng a có n phần tử  Tổng(a,n);

• Mảng a ơi, tình tổng đi em:  a.Tổng();

Xem a là một đối tượng.

Trang 7

Diễn đạt hướng đối tượng

• Diễn đạt tác vụ theo hướng thủ tục :

TênTácVụ(ĐốiTượngDữLiệu);  Tổng(a,n);

• Diễn đạt tác vụ theo hướng đối tượng :

ĐốiTượngDữLiệu.TênTácVụ();  a.Tổng();

• Xem dữ liệu là đối tượng làm chương trình

tự nhiên hơn vì giống thực tế hơn.

Trang 8

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

II CÁC KHÁI NIỆM HƯỚNG ĐỐI TƯỢNG CƠ BẢN

Đối tượng-Object

Lớp-Class

Tính thừa kế- Inheritance

Tính đa hình-Polymorphism

Trang 9

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Đối tượng - Object:

Một đối tượng là một khái niệm hoặc nội dung có các biên được định nghĩa có liên

quan đến vấn đề mà ta đang giải quyết

- Các thuộc tính: Tính chất/đặc tính riêng

- Các hành động: Các hành động khả dĩ của đối tượng

Tam

giác

Trang 10

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢNLớp - Class:

Một lớp là một cách gom nhóm các đối tượng có cùng các tính chất, cách ứng xử (hành động) và các mối quan hệ chung

VD: Hình học, Người, Sinh viên, Nhân viên

Trang 11

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢNTính chất/thuộc tính của lớp:

Một đặc tính cần có của một đối tượng

hoặc thực thể khi được biểu thị trong một lớp được gọi là một tính chất

-VD: thuộc tính của sinh viên: MSV, Họ tên, Ngày sinh, Lớp học, Điểm TB,…

- VD: thuộc tính của nhân viên là gì???!!

Trang 12

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Trang 13

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

PHÂN TÍCH CÁC THUỘC TÍNH VÀ PHƯƠNG THỨC CỦA LỚP

Trang 14

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Trang 15

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Đơn thừa kế: Là tiến trình tạo ra lớp mới từ một lớp hiện có

Đa thừa kế: Là tiến trình tạo ra lớp mới từ hai hay nhiều lớp hiện có

NGƯỜI

Sinh viên Nhân viên

ĐỘNG VẬT

Côn

Trang 16

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Trang 17

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Trang 18

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

CÁC THÀNH VIÊN RIÊNG VÀ CHUNG CỦA LỚP

Dữ liệu hoặc các hàm Dữ liệu hoặc các hàm

Trang 19

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

CÁC THÀNH VIÊN RIÊNG VÀ CHUNG CỦA LỚP

};

void diem :: khoitao(int h, int t)

{ x=h; y=t ; } void diem :: hien() { cout<< “Dang o diem (“ <<x<<”,”

<<y<<”)\n”;

} void main()

{ diem a;

a.khoitao(5,4);

a.hien();

}

Trang 20

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

HÀM THÀNH VIÊN

- Một thông điệp cho một đối tượng tương ứng với một lệnh gọi hàm.

- Các thông điệp có thể có tham số hoặc không.

- Để đáp lại một thông điệp, đối tượng thi hành một

phương thức, tương ứng một thân thủ tục.

- Một phương thức là một hàm nằm trong lớp.

- Trong lập trình hướng đối tượng ta gửi thông điệp thay

vì gọi các hàm <đối tượng>.<thông điệp>

- Một hàm được khai báo dưới dạng một thành viên của một lớp được gọi là hàm thành viên (member funstions).

- Xem lại vd ở slide trước – xác định các hàm thành viên.

Trang 21

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

HÀM THÀNH VIÊN

- Các hàm thành viên thường nằm trong phần chung của

lớp.

- Các hàm, các phương thức trong lớp phải được định

nghĩa trước khi dùng.

- Phần khai báo phải có các gía trị trả về và các đối số của

nó (nếu có).

- Các hàm thành viên không được trùng tên với bất kỳ một thành viên dữ liệu nào khác trong lớp.

Trang 22

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

{ assign value to object_data }

member_funtion2() { display data }

Trang 23

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

SỬ DỤNG LỚP – Định nghĩa đối tượng

Exampleclass object1, object2;

- Lớp Exampleclass không tạo đối tượng nào hết, chỉ mô tả đối tượng tạo ra có dạng ra sao.

- Định nghĩa một đối tượng cũng tương tự như định nghĩa một biến.

- Khi định nghĩa một đối tượng thì không gian sẽ được

chừa riêng cho nó trong bộ nhớ.

<Tên lớp> <đt1, đt2, đt3,…>;

VD: Diem A, B;

Trang 24

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

<tên đối tượng>.<tên hàm thành viên>()

- Truy cập dữ liệu thành viên lớp:

<tên đối tượng>.<tên dữ liệu thành viên>

Trang 25

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

SỬ DỤNG HÀM – Truyền và trả về đối tượng

- Việc truyền và trả về đối tượng cũng như truyền và trả kiểu dữ liệu cho hàm.

- Việc truyền và trả dữ liệu này không thật hiệu quả.

Trang 26

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

CÁC NGÔN NGỮ HƯỚNG ĐỐI TƯỢNG

Trang 27

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

BÀI TẬP TRÊN LỚP

1 - Phân tích lớp hinhchunhat (Hình chữ nhật)

- Khai báo lớp hinhchunhat

- Viết hàm main khai thác lớp hinhchunhat

+ Tạo một hinhchunhat A

+ Nhập thông tin cho hình A

+ In thông tin của hình A

+ In diện tích của hình A

Trang 28

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

Trang 29

CHƯƠNG I: CÁC KHÁI NIỆM CĂN BẢN

BÀI TẬP TRÊN LỚP

3 Xây dựng lớp CAccount

- Dữ liệu thành viên: Tên, Mã số tài khoản, Tiền-Hàm thành viên:

+ Nhập thông tin cho tài khoản

+ In thông tin cho tai khoản

+ Lấy thông tin số tiền trong tài khoản

Viết hàm main để khai thác lớp

+ Nhập thông tin cho một danh sách TK

+ Tính tổng số tiền của danh sách

Trang 30

• Một đối tượng sách trong hệ thống quản lý thư viện có các thuộc tính:

• - Tên sách

• - Tổng số quyển sách

• - Số quyển sách đang cho mượn

• Xây dựng lớp CSach với các thuộc tính tên và các phương thức sau:

• - Phương thức nhập liệu cho đối tượng từ bàn phím Các thông tin cần nhập là tên sách, tổng số sách, số đang cho mượn

• - Phương thức in thông tin đối tượng ra màn hình

• - Phương thức tính số sách còn lại trong thư viện (tổng số - số đang cho mượn)

• Trên số lớp đã xây dựng, viết chương trình chính thực hiện các công việc:

• - Nhập danh sách các quyển sách với số lượng các quyển sách được nhập từ bàn phím

• - In ra màn hình các quyển sách hiện có trong thư viện (Số sách còn lại phải lớn hơn 0)

Ngày đăng: 24/04/2021, 15:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w