- Phương thức ảo hay gọi là phương thức đa hình (virtual method). Trong lớp kế thừa có thể nạp chồng mã nguồn của lớp cha.
- Phương thức đa hình là phương thức có khai báo từ khóa virtual trước tên phương thức.
- Đặc điểm của lớp đa hình (virtual method) là:
1. Có thể sử dụng từ khóa override để nạp chồng.
2. Phải có giá trị trả về
3. Không thể sử dụng từ khóa virtual đối với các phương thức có từ khóa static, abstract, private, or override;
4. Từ khóa virtual có thể dùng để khai báo cho phương thức (method), thuộc tính (property), chỉ mục (indexer), sự kiện (event).
Ví dụ:
public class HinhDaGiac
{
public virtual int DienTich() { return 0; } //Phương thức đa hình
public virtual int ChuVi() { return 0; } //Phương thức đa hình
}
public class HinhChuNhat : HinhDaGiac
{
private int Dai;
private int Rong;
public HinhChuNhat(int Width, int Height) //Phương thức khởi tạo
{
Dai = Width;
Rong = Height;
}
public override int ChuVi() //Nạp chồng phương thức ChuVi của HinhDaGiac
{
return (Dai + Rong) * 2;
}
}
Thanks chủ thớt. e đang cần tìm cái này
Trả lờiXóaE có thử bỏ từ khóa override trong HinhChuNhat.ChuVi thì nó vẫn trả về giá trí (Dai+Rong)*2
Xóa