Session 3 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, • Khả năng tạo ra những kiểu dữ liệu mới, phức tạp • Tạo ra c[.]
Trang 1Session 4
Classes and Methods Inheritance and Polymorphism
Trang 2Đị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ứ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
• Một đặc tính quan trọng của ngôn ngữ 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ủa mộ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.
Trang 3Khá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èo Mướ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.
Trang 4• Ví dụ:
• Một họ mèo có các đặc tính: trọng lượng
Trang 7Tham số của phương thức
void Method( int param1, button param2) {
//
}
Trang 8public class BaiTap_1
Trang 9Tạ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.
Trang 10• ThoiGian t = new ThoiGian();
• Xem class ThoiGian
Trang 12Truyề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
Trang 13Truyề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
Trang 15Đóng gói dữ liệu với thành phần thuộc
tính
• Cung cấp khả 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 qua thuộ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)
Trang 17}
Trang 18Kế Thừa
Trang 19• Cú pháp:
public class ListBox : Window
Trang 20Đa hình
• Khai báo khóa virtual trong phương thức của lớp cha
public virtual void Tinh()
• public override void Tinh()
Trang 21Bài tập 4
Viết chương trình minh họa sau:
Tạo ra 1 class NhaCungCap
gồm các thông tin sau:
ID, ten, diaChi, sDT, emailgồm các methods:
nhap() // nhập các thông tin của nhà cung cấphienThi() // hiển thị các thông tin của nhà cung cấpMain()
//gọi hàm nhap() và hàm hienThi()
Trang 22Bà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
Trang 23Bà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
Trang 24Bà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
Trang 25Bài tập 8
• Consider the previous question Override the Run() method in the derived class to display a message “The CAR is running”