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

HƯỚNG ĐỐI TƯỢNG TRONG C# ppt

33 648 7

Đ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 33
Dung lượng 82,5 KB

Nội dung

1 HƯỚNG ĐỐI TƯỢNG TRONG C# 2 Nhắc lại về lập trình HĐT  Tiếp cận HĐT giúp khắc phục khuyết điểm của lập trình cấu trúc:  Không sử dụng lại được mã nguồn.  Mọi thay đổi cấu trúc đòi hỏi phải thay đổi cả giải thuật  Chỉ phát huy hiệu quả trong module chương trình nhỏ.  Lập trình HĐT nhìn nhận và phân tích chương trình là những hoạt động mà các đối tượng tham gia vào chương trình đó. 3 ĐỐI TƯỢNG – LỚP  Một đối tượng là thực thể trong hệ thống.  Mỗi đối tượng sẽ có một số thuộc tính và một số hoạt động nhất định trong hệ thống.  Lớp là khái niệm trừu tượng phản ánh tập hợp các đối tượng có cùng tính chất.  Một đối tượng là một thể hiện của một lớp. 4 CẤU TRÚC CỦA LỚP Class <tên lớp> { Các biến thành viên; Hàm xây dựng; Các thuộc tính; Các phương thức; } 5 BIẾN THÀNH VIÊN Cú pháp: <phạm vi truy cập> <kiểu> <tên biến>; class ConNguoi() { public string hoTen; protected string gioiTinh; DateTime ngaySinh; } 6 6 Phạm vi truy cập  private: Chỉ truy cập được từ trong lớp khai báo.  protected: Truy cập được từ trong lớp khai báo và các lớp con của lớp khai báo.  public: Truy cập được từ mọi nơi.  Mặc định là private 7 HÀM XÂY DỰNG  Cú pháp: <phạm vi truy cập> <tên lớp>([danh sách tham số]) { Các phép toán gán giá trị cho các biến thành viên; } 8 HÀM XÂY DỰNG  Hàm xây dựng không tham số: public ConNguoi() { hoTen=“”; gioiTinh=“Nam”; } Gọi hàm xây dựng: ConNguoi cn; cn=new ConNguoi() Nếu một lớp không định nghĩa hàm xây dựng thì lớp sẽ có một hàm xây dựng mặc nhiên là: Public ConNguoi(){} 9 HÀM XÂY DỰNG  Hàm xây dựng có tham số: public ConNguoi(string hoTen,string gioiTinh, DateTime NS) { this.hoTen=hoTen; this.gioiTinh=gioiTinh; ngaySinh=NS; } Gọi hàm: ConNguoi cn=new ConNguoi(“NVA”,”Nam”,ns); 10 THUỘC TÍNH Cú pháp: <thuộc tính tr.cập> <kiểu> <tên thuộc tính> { [get{}] // gán giá trị trả về cho thuộc tính. [set{}] // thiết lập giá trị cho biến thành viên. } VD: Public string HoTen { get{return hoTen;} set{hoTen=value;} } Ví dụ: ConNguoi cn=new ConNguoi(); Cn.HoTen=“Nguyen Van A”; // Hàm set trong thuộc tính HoTen được gọi. String ht= cn.HoTen; // Hàm get trong thuộc tính HoTen được gọi. [...]... } 23 TƯƠNG QUAN GIỮA ĐỐI TƯỢNG LỚP CON VÀ ĐỐI TƯỢNG LỚP CHA Tất cả các đối tượng của lớp con và đối tượng của lớp cha đều sử dụng chung một vùng nhớ đối với các biến thành viên tĩnh của lớp cha DTLopCha2 DTLopCha1 Biến tĩnh DTLopCon1 DTLopCon2 24 TƯƠNG QUAN GIỮA ĐỐI TƯỢNG LỚP CON VÀ ĐỐI TƯỢNG LỚP CHA Ta có thể gán một đối tượng của lớp cha bằng một đối tượng của lớp con (Không có điều ngược lại) ConNguoi... đối tượng trong lớp con hoàn toàn có thể sử dụng lại các phương thức đã được định nghĩa trong lớp cha Tuy nhiên, ta có thể sửa đổi phương thức đó, hoặc viết lại hoàn toàn mới trong lớp con Lớp CuTri (Con) public int Tuoi() { int tuoi=base.Tuoi(); return tuoi ; } Lớp ConNguoi (Cha) public int Tuoi() { int tuoi=DateTime.Now.YearngaySinh.Year+1; return tuoi; } 23 TƯƠNG QUAN GIỮA ĐỐI TƯỢNG LỚP CON VÀ ĐỐI... hàm nhập thông tin cho đối tượng hiện hành  Viết hàm in thông tin của đối tượng hiện hành 32 Bài tập(tt)  Bài 4: Xây dựng lớp GiaoVien thừa kế từ lớp ConNguoi và có thêm các thuộc tính maGV, khoa, chuyenMon  Viết hàm xây dựng có 6 tham số maGiangVien, hoTen và ngaySinh, gioiTinh, khoa, chuyenMon  Viết hàm nhập thông tin cho đối tượng hiện hành  Viết hàm in thông tin của đối tượng hiện hành 33 ... CuTri ct=new CuTri(); cn=ct; // Hợp lệ ct=cn; //Hỗn 25 TƯƠNG QUAN GIỮA ĐỐI TƯỢNG LỚP CON VÀ ĐỐI TƯỢNG LỚP CHA Gọi phương thức của lớp cha đã bị lớp con viết đè: CuTri ct=new CuTri(); ct.NgaySinh=new DateTime(1986,9,15); ConNguoi cn=ct; String tuoi=cn.Tuoi(); // tuoi=27 String tuoi1=ct.Tuoi();// tuoi1=26 26 LỚP DateTime  Khai báo đối tượng mới cho lớp:    DateTime t = new DateTime(); DateTime t = new... protected string gioiTinh; DateTime ngaySinh; } 20 HÀM XÂY DỰNG TRONG LỚP CON Ta có thể xây dựng một hàm xây dựng trong lớp con và thừa kế từ các hàm xây dựng trong lớp cha thông qua từ khóa base Ví dụ: public CuTri():base() { cmnd=“”; } public ConNguoi() { hoTen=“”; gioiTinh=“Nam”; } 21 HÀM HỦY TRONG LỚP CON Hàm hủy được gọi một cách tự động khi đối tượng được thu hồi Cú pháp: ~() { thu hồi vùng... tính tĩnh public Class CuTri { static int soNguoiDiBau; public static void DiBau() { soNguoiDiBau++; } } 17 GỌI CÁC YẾU TỐ TĨNH Đối với các yếu tố thông thường của một lớp, chúng ta phải gọi chúng thông qua một đối tượng cụ thể Ví dụ: CuTri ct=new CuTri(); ct.hoTen=“NVA”; Đối với các yếu tố tĩnh của một lớp ta phải gọi chúng thông qua tên của lớp đó Ví dụ: int soNguoiDiBau=CuTri.SoNguoiDiBau; int so=ct... SoPhieuBau { get {return soPhieuBau;} } } UngCuVien ucv=new UngCuVien(); int soPB=ucv.SoPhieuBau; //OK ucv.SoPhieuBau=7; // Lỗi 11 PHƯƠNG THỨC Phương thức của một lớp phản ánh các hành động của các đối tượng trong lớp đó  Cú pháp: ( [Danh sách các tham số]) {  nội dung phương thức; } 12 PHƯƠNG THỨC VD: class NhanKhau() { String cmnd; public string hoTen;... ngaySinh; int namKetHon; String tinhTrangHonNhan; String hoTenVoChong; public void LapGiaDinh(int nam, string hoTen) { namKetHon=nam; tinhTrangHonNhan=“Đã kết hôn”; hoTenVoChong=hoTen; } } 13 OVERLOAD TRONG PHƯƠNG THỨC Ta có thể định nghĩa nhiều phương thức của một lớp với cùng một tên nhưng phải khác nhau về danh sách tham số class NhanKhau() { public void LapGiaDinh(int nam, string hoTen) { namKetHon=nam; . trình đó. 3 ĐỐI TƯỢNG – LỚP  Một đối tượng là thực thể trong hệ thống.  Mỗi đối tượng sẽ có một số thuộc tính và một số hoạt động nhất định trong hệ thống.  Lớp. 1 HƯỚNG ĐỐI TƯỢNG TRONG C# 2 Nhắc lại về lập trình HĐT  Tiếp cận HĐT giúp khắc phục

Ngày đăng: 16/03/2014, 07:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w