Hi mn,mình hỏi 1 chút về kế thừa trong C# ạ. Mình có 1 Interface A, 1 Class B. B kế thừa A hay B:A. Tiếp mình có 1 Class C kế thừa B hay C:B. Cho mình hỏi là để C sử dụng có các phương thức của B thì mình thêm Virtual vào các phương thức cần sử dụng lớp cha B và Override vào lớp con C đúng không ạ. Cảm ơn mn giúp đỡ ạ.
Class và Interface trong C#
nếu mình hiểu đúng đề
public interface IA {}
public class B : IA {}
public class C : B {}
public class B : IA { public virtual void Bla() {} }
thì khi đó nếu class C thay đổi bản chất của hàm Bla() của class B thì cứ override
còn nếu không thì dùng base nhé
public class C : B { public override void Bla() { //base.Bla(); } }
nhưng đừng vi phạm L trong SOLID nhé (Liskov Substitution Principle)
3 Likes
tks bác nha, chúc bác may mắn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?