intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

BÀI GIẢNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Chia sẻ: Bùi Ngọc Thành | Ngày: | Loại File: PPT | Số trang:61

270
lượt xem
102
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Khai báo lớp 2. Tạo đối tượng sử dụng lớp 3. Sử dụng các thành viên static (phương thức và thuộc tính) 4. Truyền tham số kiểu ref, out, params

Chủ đề:
Lưu

Nội dung Text: BÀI GIẢNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

  1. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1. Khai báo lớp 2. Tạo đối tượng sử dụng lớp 3. Sử dụng các thành viên static (phương thức và thuộc tính) 4. Truyền tham số kiểu ref, out, params 5. Nạp chồng phương thức, toán tử 6. Đóng gói dữ liệu với thuộc tính, các thuộc tính chỉ đọc 7. Indexer 8. Thực thi giao diện khả so sánh để sắp xếp một mảng đối tượng thuộc một lớp bất kỳ 1
  2. Khái niệm lớp - Lớp dùng để định nghĩa các thực thể có cùng chung các thuộc tính và các hành vi - Đối tượng (object) là thực thể của một lớp. Tất cả các object của một lớp có đầy đủ các thuộc tính và hành vi được định nghĩa bởi lớp đó. 2
  3. CÁC TÍNH CHẤT CỦA LẬP TRÌNH HĐT • Tính đóng gói • Trừu tượng • Kế thừa • Đa hình 3
  4. 4
  5.  Abstraction 5
  6.  Encapsulation 6
  7.  Inheritance … 7
  8.  Polymorphism 8
  9. Access Modifiers  public • protected • private • internal • 9
  10. CÁC THÀNH PHẦN CƠ BẢN CỦA LỚP – Các thuộc tính: các đặc trưng mô tả đối tượng – Các phương thức: Các thao tác mà đối tượng có thể thực hiện – Định nghĩa một lớp public class Sinhvien { Các thuộc tính Các phương thức của lớp } - Tạo thể hiện của một lớp: Để truy cập được các thành phần dữ liệu và phương thức của lớp, ta phải tạo đối tượng của lớp đó. + Ví dụ: Sinhvien s1 = new Sinhvien(); 10
  11. Các thành phần cơ bản của lớp - Phương thức là các hàm được khai báo trong lớp, được sử dụng để thao tác với các biến của lớp. Hàm có thể có các tham số, có giá trị trả về hoặc không. Phương thức thể hiện các hành vi của lớp. Các phương thức có thể được gọi bởi đối tượng của lớp định nghĩa phương thức đó. 11
  12. Tạo phương thức - Cú pháp: [access modifier] return_type method_name ([list of parameters]) { // body of method } - Lưu ý: + Tên phương thức không thể là từ khóa của C# + Không chứa các ký tự spaces + Không thể bắt đầu bằng 1 số + Có thể bắt đầu bằng ký tự _ hoặc @ 12
  13. Gọi phương thức - Có thể gọi một phương thức trong lớp bằng việc tạo một đối tượng của lớp. Gọi phương thức theo cú pháp sau: object_name.MethodName(list of parameter). ? - Nếu các phương thức được gọi bởi các phương thức khác trong lớp. Chỉ cần dùng tên lớp và các tham số truyền vào phương thức. - Trong C# các phương thức luôn được gọi từ phương thức khác. 13
  14. Ví dụ public class SinhVien { private string hoten, quequan; private DateTime ngaysinh; public SinhVien (string hoten, string quequan, DateTime ngaysinh) { this.hoten = _hoten this.ngaysinh = _ngaysinh this.quequan = _quequan } private int TinhTuoi() { return DateTime.Now.Year - ngaysinh.Year } public void ThongTinSV() { string info = ""; info = info + "Họ và tên:".PadRight(12) + hoten + "“; info = info + "Quê quán:".PadRight(12) + quequan + "“; info = info + “Tuổi:".PadRight(12, " ") + TinhTuoi().ToString(); Console.WriteLine(info); } 14 }
  15. Các thuộc tính của lớp - Lớp SinhViên có các thuộc tính thành ph ần: hoten, ngaysinh, quequan. - Hàm tạo (Contructor): Được gọi khi khởi tạo một đối tượng của lớp. - Hàm huỷ. - Các phương thức: TinhTuoi, ThongTinSV - Định nghĩa truy cập các thuộc tính có thể sử dụng: private, protected, public, internal. - Lớp là kiểu dữ liệu tham chiếu, khi khai báo giá trị mặc định các đối tượng của lớp là null. Trước khi dùng biến 15
  16. Hàm tạo (contructor) - Hàm tạo là một phương thức đặc biệt của lớp, dùng để tạo một đối tượng mới. Chương trình sẽ cấp phát bộ nhớ cho đối tượng sau đó gọi đến hàm tạo - Contructor dùng để khởi tạo các biến thành viên của lớp. - Đặc điểm hàm tạo: + Tên hàm tạo bắt buộc trùng tên lớp. + Không có giá trị trả về tường minh. + Không cho kế thừa. 16
  17. Chồng các hàm, nạp chồng toán tử - Chồng các hàm: Dùng cùng một tên để định nghĩa các hàm khác nhau. Các hàm được nạp chồng phải khác nhau v ề đối số (số lượng, kiểu dữ liệu). - Ví dụ: - Nạp chồng toán tử: để thực hiện các phép toán trên kiểu dữ liệu không chuẩn. Như +, - , * , … - Cú pháp public static kiểu trả về operator toán tử (các tham số) { // các lệnh - Từ khóa định nghĩa truy cập phải là public và phương thức kiểu static. } - Toán tử có bao nhiêu ngôi thì trong phương thức nạp chồng có bấy nhiêu tham số 17
  18. Các toán tử có thể nạp chồng Các toán tử Khả năng nạp chồng +, ­, !, ~, ++, ­­, true, false These unary operators can be overloaded. +, ­, *, /, %, &, |, ^,  These binary operators can be overloaded. ==, !=, , = The  comparison  operators  can  be  overloaded  (but  see  the  note  that follows this table). &&, || The conditional logical operators cannot be overloaded, but they  are evaluated using & and |, which can be overloaded. [] The  array  indexing  operator  cannot  be  overloaded,  but  you  can  define indexers. () The cast operator cannot be overloaded, but you can define new  conversion operators (see explicit and implicit). Assignment  operators  cannot  be  overloaded,  but  +=,  for  +=, ­=, *=, /=, %=, &=, |=,  ^=, = example, is evaluated using +, which can be overloaded. =, ., ?:, ­>, new, is, sizeof,  These operators cannot be overloaded. typeof 18
  19. Ví dụ về nạp chồng toán tử - Nạp chồng toán tử chuyển kiểu + Chuyển kiểu ngầm định class Digit { public Digit(double d) { val = d; } public double val; // ...other members // User-defined conversion from Digit to double public static implicit operator double(Digit d) { return d.val; } // User-defined conversion from double to Digit public static implicit operator Digit(double d) { return new Digit(d); } } 19
  20. Ví dụ về nạp chồng toán tử - Chuyển kiểu tường minh - Có 2 lớp biểu diễn nhiệt độ Celsius và Farenheit. 2 lớp có đều có thuộc tính public là degrees. public static explicit operator Celsius(Farenheit f) { return new Celsius((5.0f/9.0f)*(f.degrees-32)); } - Sử dụng chuyển kiểu tường minh Fahrenheit f = new Fahrenheit(100.0f); Celsius c = (Celsius)f; 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2