Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
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
Nội dung
1 Sự Đóng Gói Môn Lập Trình Hướng Đối Tượng – Chương Nguyễn Minh Thành [Mail] : Thanhnm@itc.edu.vn Nhắc Lại Lập trình hướng đối tượng phương pháp lập trình dựa kiến trúc lớp (class) đối tượng (object) Chương trình hệ thống đối tượng Xây dựng chương trình định nghĩa lớp đối tượng, sau khai báo đối tượng tổ chức để đối tượng thực thi nhiệm vụ 3 Nội Dung Khái niệm Tính Đóng Gói Phạm vi truy xuất Lớp Thiết kế thuộc tính cho Lớp Khái niệm Sự đóng gói chế ràng buộc liệu thao tác liệu để thành thể thống nhất, tránh tác động bất ngờ từ bên Thể thống gọi đối tượng 5 Khái niệm (tt) class { thuộc tính; phương thức(); } • Chỉ có phương thức nằm class quyền truy cập thuộc tính (hay liệu) • Thuộc tính (hay liệu) mà phương thức truy cập tương ứng với đối tượng tạo từ class 6 Ví dụ : lập trình thủ tục • Nhập vào sinh viên với thông tin sau : họ tên, năm sinh, giới tính xuất hình • Giải : ▫ Tạo biến cho sinh viên ▫ Viết hàm nhập xuất với tham số truyền vào thông tin sinh viên cần xuất 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); } 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); } Ví dụ : lập trình hướng đối tượng • Giải : ▫ Định nghĩa class SinhVien chứa thông tin hành động nhập xuất tương ứng ▫ Tạo đối tượng sinh viên từ class SinhVien gọi hành động nhập đối tượng cụ thể 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); } } 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 sv2 đối tượng thuộc class SinhVien, nên sv1, sv2 có liệu : hoten, namsinh, gioitinh phương thức nhập, xuất riêng Khi ta gọi s1.Nhap(), phương thức Nhap sv1 gọi thao tác lên liệu sv1, không ảnh hưởng đến sv2 Đó tính đóng gói 12 Phạm vi truy xuất • Các từ khoá truy xuất : ▫ private (mặc định): Chỉ truy xuất nội lớp (thuộc tính thường sử dụng) ▫ protected: Truy xuất nội lớp lớp con, sử dụng cho lớp sở (lớp cha) ▫ public: Truy xuất nơi (phương thức thường sử dụng) ▫ static : truy xuất không cần khởi tạo đối tượng lớp 13 Phạm vi truy xuất (tt) • Ví dụ : ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… 14 Thiết kế thuộc tính Chọn kiểu thích hợp biểu diễn thuộc tính lớp Lập bảng sau: STT Thuộc tính Kiểu/ lớp Ràng buộc Ghi Ví dụ 1: Xét lớp điểm ký tự cửa sổ Console STT Thuộc tính Kiểu/ lớp Ràng buộc Ghi x Số nguyên ≤ x < Kích thước ngang Hoành độ y Số nguyên ≤ y < Kích thước dọc Tung độ c Ký tự Ký tự 15 Thiết kế thuộc tính Ví dụ 2: Xét lớp hình chữ nhật cửa sổ Console • Cách 1: STT Thuộc tính Kiểu/ lớp Ràng buộc Ghi Goc CDIEM m Số nguyên m>0 m+hoành độ góc0 n+tung độ góc [...]... dọc Tung độ 3 m Số nguyên m>0 và m+x0 và n+y ... Lập trình hướng đối tượng phương pháp lập trình dựa kiến trúc lớp (class) đối tượng (object) Chương trình hệ thống đối tượng Xây dựng chương trình định nghĩa lớp đối tượng, sau khai báo đối. .. Ví dụ : lập trình hướng đối tượng • Giải : ▫ Định nghĩa class SinhVien chứa thông tin hành động nhập xuất tương ứng ▫ Tạo đối tượng sinh viên từ class SinhVien gọi hành động nhập đối tượng cụ... 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 sv2 đối tượng thuộc