黑马程序员:C#基础篇(四)抽象类、接口、继承与多态

本文介绍了C#编程中的抽象类和接口,它们都是实现多态的重要手段。抽象类主要用于继承,接口则允许类实现多个功能。文章详细阐述了抽象类的特性,包括抽象成员、构造函数等,并对比了接口的特点,如可继承多个接口、不包含实现等。此外,还讨论了封装、继承和多态的概念,强调了这些概念在面向对象编程中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------


抽象类

抽象类与接口主要都是为了实现多态,使用abstract关键字可以创建仅用于继承用途的类和成员。对于接口,从定义就可以发现是对方法的抽象,也可描述成对能力的抽象;而抽象类是 对以事物的抽象,与具体的对象有关。
抽象类的成员与一般类无异,只不过一般定义成抽象的,给派生类重写,从而实现多态,一般定义的抽象成员有方法,事件,属性,索引器。抽象类的构造函数主要是为了对非抽象成员的初始化”抽象类是不能实例化的“,派生类会默认调用父类的无参构造函数,因此其也不能是私有的。例子:

    delegate void MyDelegate();
    abstract class MyClass
    {
        public abstract void Func();//抽象成员必须是公共的
        public abstract string AttriBute
        {
            get;//可以只有一个访问器
            set;
        }
        public abstract string this[int num]
        {
            get;//与属性类似
            set;
        }
        public abstract event MyDelegate BaseEvent;
    }
    class MyClass1:MyClass
    {
        public override string AttriBute
        {
            get
            {
                return "123";
            }
            set
            {
                Console.WriteLine(value);
            }
        }
        public override string this[int num]
        {
            get
            {
                return num.ToString();
            }
            set
            {
                Console.WriteLine(value);
            }
        }
        public override void Func()
        {
            Console.WriteLine("123");
        }
        public overrid
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值