1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng lập trình hướng đối tượng chương 4 nguyễn minh thành

19 145 1

Đ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 19
Dung lượng 281,37 KB

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

Nội dung

Nhắc Lại Lập trình hướng đối tượng là phương pháp lập trình dựa trên kiến trúc lớp class và đối tượng object.. Xây dựng một chương trình là định nghĩa các lớp đối tượng, sau đó khai

Trang 1

Sự Đóng Gói

Môn Lập Trình Hướng Đối Tượng – Chương 4

Nguyễn Minh Thành

[Mail] : Thanhnm@itc.edu.vn

Trang 2

Nhắc Lại

 Lập trình hướng đối tượng là phương pháp lập

trình dựa trên kiến trúc lớp (class) và đối

tượng (object).

 Chương trình là một hệ thống các đối tượng Xây

dựng một chương trình là định nghĩa các lớp đối

tượng, sau đó khai báo các đối tượng và tổ

chức để các đối tượng thực thi nhiệm vụ của

mình.

Trang 3

Nội Dung

1 Khái niệm về Tính Đóng Gói

2 Phạm vi truy xuất trên Lớp

3 Thiết kế thuộc tính cho Lớp

Trang 4

1 Khái niệm

 Sự đóng gói là cơ chế ràng buộc dữ liệu và thao

tác trên dữ liệu để thành một thể thống nhất,

tránh được các tác động bất ngờ từ bên ngoài

Thể thống nhất này gọi là đối tượng

Trang 5

Khái niệm (tt)

class <Tên lớp>

{

<từ khóa truy xuất> thuộc tính;

<từ khóa truy xuất> phương thức();

}

• Chỉ có các phương thức nằm trong class mới được quyền truy cập thuộc tính (hay dữ liệu).

• Thuộc tính (hay dữ liệu) mà phương thức truy cập

sẽ tương ứng với đối tượng được tạo từ class đó.

Trang 6

Ví dụ : lập trình thủ tục

• Nhập vào 2 sinh viên với các thông tin như sau :

họ tên, năm sinh, giới tính và xuất ra màn hình.

• Giải quyết :

▫ Tạo 6 biến cho 2 sinh viên

▫ Viết 2 hàm nhập và xuất với tham số truyền vào

là thông tin về sinh viên cần xuất

Trang 7

Ví dụ : lập trình thủ tục (tt)

void NhapSinhVien(out string ht,out int ns,out string gt)

{

Console.Write("Nhap ho ten :");

ht = Console.ReadLine();

Console.Write("Nhap nam sinh :");

ns = int.Parse(Console.ReadLine());

Console.Write("Nhap gioi tinh :");

gt = Console.ReadLine();

}

void XuatSinhVien(string ht, int ns, string gt)

{

Console.WriteLine("Sinh vien : {0}, sinh nam {1}, phai {2}",ht,ns,gt);

}

Trang 8

Ví dụ : lập trình thủ tục (tt)

void main()

{

string hoten1, hoten2;

int namsinh1, namsinh2;

string gioitinh1, gioitinh2;

NhapSinhVien(out hoten1,out namsinh1, out gioitinh1); NhapSinhVien(out hoten2,out namsinh2, out gioitinh2); XuatSinhVien(hoten1,namsinh1,gioitinh1);

XuatSinhVien(hoten2,namsinh2,gioitinh2);

}

Trang 9

Ví dụ : lập trình hướng đối tượng

• Giải quyết :

▫ Định nghĩa một class SinhVien chứa các thông

tin và hành động nhập xuất tương ứng.

▫ Tạo 2 đối tượng sinh viên từ class SinhVien và

gọi hành động nhập của đối tượng cụ thể.

Trang 10

Ví dụ : lập trình hướng đối tượng

class HOCSINH

{

private string hoten, gioitinh;

private int namsinh;

public void Nhap()

{

Console.Write("Nhap ho ten :");

hoten = Console.ReadLine();

Console.Write("Nhap nam sinh :");

namssinh = int.Parse(Console.ReadLine());

Console.Write("Nhap gioi tinh :");

gioitinh = Console.ReadLine();

}

public void Xuat()

{

Console.WriteLine("Sinh vien : {0}, sinh nam {1}, phai {2}",hoten,namsinh,gioitinh);

}

}

Trang 11

Ví dụ : lập trình hướng đối tượng

void main()

{

SinhVien sv1 = new SinhVien();

SinhVien sv2 = new SinhVien();

sv1.Nhap();

sv2.Nhap();

sv1.Xuat();

sv2.Xuat();

}

 Nhận xét

 sv1 và sv2 là 2 đối tượng thuộc class SinhVien, nên sv1, sv2 sẽ có các dữ liệu : hoten, namsinh, gioitinh và 2 phương thức nhập, xuất riêng.

 Khi ta gọi s1.Nhap(), phương thức Nhap của sv1 được gọi và sẽ

thao tác lên chính dữ liệu của sv1, không ảnh hưởng đến sv2

Trang 12

2 Phạm vi truy xuất

• Các từ khoá truy xuất :

▫ private (mặc định): Chỉ được truy xuất trong nội bộ lớp (thuộc tính thường sử dụng).

▫ protected: Truy xuất trong nội bộ lớp hoặc trong các lớp con, được sử dụng cho lớp cơ sở (lớp cha)

dụng).

▫ static : truy xuất không cần khởi tạo đối tượng của lớp.

Trang 13

Phạm vi truy xuất (tt)

• Ví dụ :

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 14

3 Thiết kế thuộc tính

Chọn kiểu thích hợp biểu diễn của thuộc tính của lớp

Lập bảng như sau:

Ví dụ 1: Xét lớp điểm ký tự trên cửa sổ Console

STT Thuộc tính Kiểu/ lớp Ràng buộc Ghi chú

STT Thuộc

tính

Kiểu/ lớp Ràng buộc Ghi chú

1 x Số nguyên 0 ≤ x < Kích thước

ngang

Hoành độ

2 y Số nguyên 0 ≤ y < Kích thước dọc Tung độ

Trang 15

Thiết kế thuộc tính

Ví dụ 2: Xét lớp hình chữ nhật trên cửa sổ Console

• Cách 1:

• Cách 2:

STT Thuộc tính Kiểu/ lớp Ràng buộc Ghi chú

nguyên

m>0 và m+hoành độ góc<Kích thước ngang

Chiều ngang

nguyên

n>0 và n+tung độ góc <Kích thước dọc

Chiều đứng

STT Thuộc tính Kiểu/ lớp Ràng buộc Ghi chú

1 M1 CDIEM H/độ M1< H/độ M2 Góc trên bên trái

2 M2 CDIEM T/độ M1 < T/độ M2 Góc dưới bên phải

Trang 16

Thiết kế thuộc tính

Ví dụ 2: Xét lớp hình chữ nhật trên cửa sổ Console

• Cách 3:

STT Thuộc

tính

Kiểu/ lớp Ràng buộc Ghi chú

1 x Số nguyên 0≤x<Kích thước

ngang

Hoành độ

2 y Số nguyên 0≤ y<Kích thước

dọc

Tung độ

3 m Số nguyên m>0 và m+x<Kích

thước ngang

Chiều ngang

4 n Số nguyên n>0 và n+y<Kích

thước dọc

Chiều đứng

Trang 17

Bài tập

• Thiết kế thuộc tính các lớp sau

▫ Lớp CPHANSO

▫ Lớp CDATHUC (Đa thức 1 ẩn)

Pn(x) = a0 + a1x + a2x2+ a3x3 + + anxn

▫ Lớp CDUONG (Đường thẳng trong mặt phẳng)

Trang 18

FAQs

Trang 19

Hết chương 4

Môn Lập Trình Hướng Đối Tượng

Ngày đăng: 04/12/2015, 14:37

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm