Tải bản đầy đủ (.ppt) (25 trang)

Session 4 Classes and Methods Inheritance and Polymorphism

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (115.87 KB, 25 trang )

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á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.


Khác nhau giữa một lớp và một đối
tượng





Ví dụ: lồ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ọ lồi mèo.



• Ví dụ:
• Một họ mèo có các đặc tính:
trọng lượng
chiều cao
màu
mắt
màu lơng
Một họ mèo có hành động:
ăn
ngủ
leo trèo


Định nghĩa class
• Cú pháp:
Tên class

[Bổ sung truy cập] class <Định danh lớp> [: Lớp cơ sở]
{
bao gồm định nghĩa các thuộc tính

phương thức hành động >

Thuộc tính
Phương thức
}



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)
{
//...
}


public class BaiTap_1
{
public void SomeMethod(int p1, float p2)
{
Console.WriteLine(“Ham nhan duoc hai tham
so: {0} va {1}”, p1,p2);
}

}


static void Main()
{
int var1 = 5;
float var2 = 10.5f;
BaiTap_1 c = new BaiTap_1();
c.SomeMethod( var1, var2 );
}


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ức cù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 vng.
• 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.


Đó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).



Bài tập 2
• Sửa lỗ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ửa lỗi:
public static void Main()
{
Display();
}
public static void Display()
{
System.Console.WriteLine(“Hello!”);
return 0;
}



Kế Thừa


• Cú pháp:
public class ListBox : Window


Đ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()


Bà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, email
gồm các methods:
nhap() // nhập các thông tin của nhà cung cấp
hienThi() // hiển thị các thông tin của nhà cung cấp
Main()
//gọi hàm nhap() và hàm hienThi()
 


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”.


×