250 likes | 416 Views
Session 4. Classes and Methods Inheritance and Polymorphism. Định nghĩa class và object. Các kiểu dữ liệu cơ bản : int, long , char , … . K hả năng tạo ra những kiểu dữ liệu mới, phức tạp. T ạo ra các kiểu dữ liệu mới bằng cách xây dựng các lớp đối tượng
E N D
Session 4 Classes and MethodsInheritance and Polymorphism
Định nghĩa class và object • Các kiểu dữ liệu cơ bản: int, long, char, …. • Khả năng tạo ra những kiểu dữ liệu mới, phứctạp. • Tạo ra các kiểu dữ liệu mới bằng cách xây dựng các lớp đối tượng • Một đặc tính quan trọng của ngônngữ lập trình hướng đối tượng. • Bằng cách khai báo và định nghĩa những lớp. • Thể hiện củamột lớp được gọi là những đối tượng (object). Những đối tượng này được tạo trong bộ nhớkhi chương trình được thực hiện.
Khác nhau giữa một lớp và một đối tượng • Ví dụ: loài mèo và một con mèo Mướp • Không thểđụng hay giỡn với khái niệm mèo • Có thể thực hiện điều đó được với mèoMướp • Mèo Mướp: là một thực thể sống động, chứ không trừu tượng như khái niệm họ loài mèo.
Ví dụ: • Một họ mèocó các đặc tính: trọng lượng chiều cao màu mắt màu lông Một họ mèocó hành động: ăn ngủ leo trèo
Định nghĩa class • Cú pháp: [Bổ sung truy cập]class<Định danh lớp>[: Lớp cơ sở] { <Phần thân của lớp: bao gồm định nghĩa các thuộc tính và phương thức hành động > }
Thuộc tính truy cập • public • private • protected • internal • protected internal
Tham số của phương thức void Method( int param1, button param2) { //... }
Tạo đối tượng • Ví dụ: ThoiGian t = new ThoiGian(); //t không chứa giá trị của đối tượng ThoiGian //t chứa địa chỉ của đối tượng chứa tham chiếu đến một đối tượng.
Contructor • ThoiGian t = new ThoiGian(); • Xem class ThoiGian
Từ khóa this public void SetYear( int Nam) { this.Nam = Nam; }
Truyền tham chiếu ref • Ý nghĩa: dùng các tham số truyền vào như là các kết quả trả về. • Xem ví dụ (ThamChieu): xem sự khác nhau khi chưa có ref
Truyền tham chiếu out • Ý nghĩa: Khi sử dụng tham chiếu out thì yêu cầu bắt buộc phải khởi tạo các tham sốtham chiếu được bỏ qua.
Overloading Method • Ý nghĩa: xây dựng nhiều các phương thứccùng tên nhưng nhận các tham số khác nhau. • Bài tập 1: Viết chương trình tính diện tích của hình tròn, hình chữ nhật, và hình vuông. • Hướng dẫn: Tạo lớp HinhHoc chứa các method DienTich với các tham số truyền vào khác nhau.
Đónggóidữliệuvớithànhphầnthuộctính • Cung cấpkhả năng bảo vệ các trường dữ liệu bên trong một lớp bằng việc đọc và viết chúng thông quathuộc tính. • Phương thức lấy dữ liệu (getter method) và phương thức thiết lập dữ liệu (setter method).
Bài tập 2 • Sửalỗi: public static void GetNumber(ref int x, ref int y) { x = 5; y = 10; } public static void Main() { int a = 0, b = 0; GetNumber(a, b); System.Console.WriteLine(“a = {0} \nb = {1}”, a, b); }
Bài tập 3 • Sửalỗi: public static void Main() { Display(); } public static void Display() { System.Console.WriteLine(“Hello!”); return 0; }
Cú pháp: public class ListBox : Window
Đa hình • Khai báo khóa virtual trongphương thức của lớp cha. public virtual void Tinh() • public override void Tinh()
Bài tập 4 Viếtchươngtrình minh họasau: Tạora 1 class NhaCungCap gồmcácthông tin sau: ID, ten, diaChi, sDT, email gồmcác methods: nhap() // nhậpcácthông tin củanhàcungcấp hienThi() // hiểnthịcácthông tin củanhàcungcấp Main() //gọihàmnhap() vàhàmhienThi()
Bài tập 5 Write a program to display the name and age of a person. • Use a default constructor to assign values to the name and age variables. • Use a parameterized constructor to pass the values of name and age. • Use a single method to display the values from both the constructors
Bài tập 6 • Write a program that calculates the square of an integer, say 3 and a double, say 4.2. Use method overloading to calculate the square of the integer and double values.
Bài tập 7 Write a program to demonstrate Inheritance. • Define a base class Vehicle having properties like type, color, speed, brand and methods Run() and Display(). • The Run() method should display a message “I am running” and the type of the vehicle. • The Display() method should display the various properties of the vehicle. • Derive a class Car and initialized the derived attributes of base class Vehicle. • Finally, in the Main() method execute Run() and Display()using an object of the derived class Car.
Bài tập 8 • Consider the previous question. Override the Run() method in the derived class to display a message “The CAR is running”.