Class và Interface trong C#

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 đỡ ạ.

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?