Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 10 của 10
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0

    kế thừa, interface, đa hình trong lập trình C#

    Mã:
    namespace LopCa{    public interface IBoi    {        void CachBoi();    }    public abstract class Ca:IBoi    {        //        private string TenCa;        private int CanNang;        private bool CoVay;        private string Mau;        //        public Ca(string TenCa,int CanNang,bool CoVay,string Mau)        {            this.TenCa = TenCa;            this.CanNang = CanNang;            this.CoVay = CoVay;            this.Mau = Mau;        }        //        public string TENCA        {            get { return TenCa; }            set { TenCa = value; }        }        public int CANNANG        {            get { return CanNang; }            set { CanNang = value; }        }        public bool COVAY        {            get { return CoVay; }        }        public string MAU        {            get { return Mau; }            set { Mau = value; }        }        //        public virtual void CachBoi()        {            Console.WriteLine("Ca nao chang biet boi !!!");        }    }    public class CaBayMau : Ca    {        public CaBayMau(string TenCa, int CanNang, bool CoVay, string Mau)            :base(TenCa, CanNang, CoVay, Mau)        {            Console.WriteLine("Ca Bay Mau");            Console.WriteLine("Ten : {0}",TenCa);            Console.WriteLine("Can nang : {0}",CanNang);            Console.WriteLine("La ca {0}",CoVay?"co vay":"khong co vay");            Console.WriteLine("Mau : {0}",Mau);        }        // IBoi        public override void CachBoi()        {            base.CachBoi();            Console.WriteLine("Boi loanh quanh tren mat nuoc !!!");        }     }    public interface IBo    {        void CachBo();    }    public class CaTre : Ca, IBo    {        //        public CaTre(string TenCa, int CanNang, bool CoVay, string Mau)            : base(TenCa, CanNang, CoVay, Mau)        {            Console.WriteLine("Ca Tre");            Console.WriteLine("Ten : {0}", TenCa);            Console.WriteLine("Can nang : {0}", CanNang);            Console.WriteLine("La ca {0}", CoVay ? "co vay" : "khong co vay");            Console.WriteLine("Mau : {0}", Mau);        }        // IBoi        public override void CachBoi()        {            base.CachBoi();            Console.WriteLine("Boi duoi day !!!");        }        // IBo        public void CachBo()        {            Console.WriteLine("Bo xa 2km!!!");        }    }    public interface IBay    {        void CachBay();    }    public class CaChuon : Ca, IBay    {        //        public CaChuon(string TenCa, int CanNang, bool CoVay, string Mau)            : base(TenCa, CanNang, CoVay, Mau)        {            Console.WriteLine("Ca Chuon");            Console.WriteLine("Ten : {0}", TenCa);            Console.WriteLine("Can nang : {0}", CanNang);            Console.WriteLine("La ca {0}", CoVay ? "co vay" : "khong co vay");            Console.WriteLine("Mau : {0}", Mau);        }        // IBoi        public override void CachBoi()        {            base.CachBoi();            Console.WriteLine("Boi nhanh duoi mat nuoc  !!!");        }        // IBay        public void CachBay()        {            Console.WriteLine("Bay xa 100m !!!");        }    }    class Program    {        static void Main(string[] args)        {            //            CaBayMau cbm = new CaBayMau("Map", 10, true, "Colorful");            cbm.CachBoi();            //            CaTre ct = new CaTre("Om",2000,false,"black");            ct.CachBoi();            ct.CachBo();            //            CaChuon cc = new CaChuon("Vua", 500, true, "white");            cc.CachBoi();            cc.CachBay();            Console.ReadKey();        }    }}

  2. #2
    Ngày tham gia
    Dec 2015
    Bài viết
    0
    Một cách ví dụ rất hay và rõ ràng cho từng loại. thx nhiều nhé.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    bạn nên có 1 chút gì đó gọi là hướng dẫn cho các bạn mới bắt đầu tiếp cận với ngôn ngữ C# này! chứ viết kiểu này, làm biếng nhìn quá! hix!

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thật ra mấy cái Polymorphism và Inheritance trong C# y chang C++ không khác tí nào, chỉ khác syntax tí xíu thôi và không hiện nguyên hình pointer thôi ^_^ !

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn có thể viết trên môi trường window form không?
    Mình không thích viết bằng console nên cũng không rành lắm

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình là người mới tìm hiểu về C# nên chưa biết được nhiều

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi TranQuangDung
    Bạn có thể viết trên môi trường window form không?
    Mình không thích viết bằng console nên cũng không rành lắm
    Console là cái cơ bản, ai cũng phải học để đến với C#, phải học đã rồi mới tiếp cận nhanh dc với lập trình hướng đối tượng, những cái cao cấp hơn
    Còn bài trên người mới học chắc chắn ko hiểu gì cả, những chỗ virtual, override... bạn nên giải thích mấy chỗ đó

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình chưa hiểu về virtual
    cách sử dụng hàm ảo như thế nào
    mong bạn giải thích giùm

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ha ha ví dụ rất hay [IMG]images/smilies/biggrin.png[/IMG] bài viết đầu tiên của bạn rất chất lượng
    nhưng mà nên cho nhiều comment chút tuy có dài nhưng kô nên bỏ qa
    thanks nhé :">

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi phong07110089
    Mã:
    namespace LopCa{    public interface IBoi    {        void CachBoi();    }    public abstract class Ca:IBoi    {        //        private string TenCa;        private int CanNang;        private bool CoVay;        private string Mau;        //        public Ca(string TenCa,int CanNang,bool CoVay,string Mau)        {            this.TenCa = TenCa;            this.CanNang = CanNang;            this.CoVay = CoVay;            this.Mau = Mau;        }        //        public string TENCA        {            get { return TenCa; }            set { TenCa = value; }        }        public int CANNANG        {            get { return CanNang; }            set { CanNang = value; }        }        public bool COVAY        {            get { return CoVay; }        }        public string MAU        {            get { return Mau; }            set { Mau = value; }        }        //        public virtual void CachBoi()        {            Console.WriteLine("Ca nao chang biet boi !!!");        }    }    public class CaBayMau : Ca    {        public CaBayMau(string TenCa, int CanNang, bool CoVay, string Mau)            :base(TenCa, CanNang, CoVay, Mau)        {            Console.WriteLine("Ca Bay Mau");            Console.WriteLine("Ten : {0}",TenCa);            Console.WriteLine("Can nang : {0}",CanNang);            Console.WriteLine("La ca {0}",CoVay?"co vay":"khong co vay");            Console.WriteLine("Mau : {0}",Mau);        }        // IBoi        public override void CachBoi()        {            base.CachBoi();            Console.WriteLine("Boi loanh quanh tren mat nuoc !!!");        }     }    public interface IBo    {        void CachBo();    }    public class CaTre : Ca, IBo    {        //        public CaTre(string TenCa, int CanNang, bool CoVay, string Mau)            : base(TenCa, CanNang, CoVay, Mau)        {            Console.WriteLine("Ca Tre");            Console.WriteLine("Ten : {0}", TenCa);            Console.WriteLine("Can nang : {0}", CanNang);            Console.WriteLine("La ca {0}", CoVay ? "co vay" : "khong co vay");            Console.WriteLine("Mau : {0}", Mau);        }        // IBoi        public override void CachBoi()        {            base.CachBoi();            Console.WriteLine("Boi duoi day !!!");        }        // IBo        public void CachBo()        {            Console.WriteLine("Bo xa 2km!!!");        }    }    public interface IBay    {        void CachBay();    }    public class CaChuon : Ca, IBay    {        //        public CaChuon(string TenCa, int CanNang, bool CoVay, string Mau)            : base(TenCa, CanNang, CoVay, Mau)        {            Console.WriteLine("Ca Chuon");            Console.WriteLine("Ten : {0}", TenCa);            Console.WriteLine("Can nang : {0}", CanNang);            Console.WriteLine("La ca {0}", CoVay ? "co vay" : "khong co vay");            Console.WriteLine("Mau : {0}", Mau);        }        // IBoi        public override void CachBoi()        {            base.CachBoi();            Console.WriteLine("Boi nhanh duoi mat nuoc  !!!");        }        // IBay        public void CachBay()        {            Console.WriteLine("Bay xa 100m !!!");        }    }    class Program    {        static void Main(string[] args)        {            //            CaBayMau cbm = new CaBayMau("Map", 10, true, "Colorful");            cbm.CachBoi();            //            CaTre ct = new CaTre("Om",2000,false,"black");            ct.CachBoi();            ct.CachBo();            //            CaChuon cc = new CaChuon("Vua", 500, true, "white");            cc.CachBoi();            cc.CachBay();            Console.ReadKey();        }    }}
    Khi bạn lấy bài của ng khác, đề nghị bạn ghi cái nguồn để tôn trọng ng tạo. Thanks

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •