C#进阶学习--抽象方法(abstract)

C#进阶学习--抽象方法(abstract),第1张

C#进阶学习--抽象方法(abstract) 一.定义 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象 定义关键字:abstract 重写关键字:override 二.抽象类特点 1.抽象方法一定要写在抽象类中, 2.抽象方法没有方法体 3.抽象类可以包含非抽象的方法,如普通方法,虚方法等 4.继承子类如果没实现父类中所有的抽象方法,那么这个子类也必须是抽象类 5.抽象类不能实例化,且不能被密封(即不可使用sealed修饰),但仍然可以具有构造方法 三.抽象类与接口的异同 相同点 1.都可以被继承 2. 都不能被实例化 3.都可以包含方法声明 4.子类必须实现未实现的方法 不同点 1.抽象类只能单一继承,接口可以实现多继承 2.抽象类中可以有普通方法,虚方法等,接口只能写规范,不可实现 3.抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。 四.实例
    public abstract class Person
    {
        public string Name { get; set; }
        public int age { set; get; }
        public void SayHello()//普通方法
        {
            Console.WriteLine("我是" + this.Name + ",我的年龄是" + this.age);
        }
        public virtual int getAge()//虚方法
        {
            return this.age;
        }
        public abstract string getName();
    }

 public interface IAction
    {
        void Run();
        string Eat(string food);
    }

 public class Student : Person, IAction
    {
        public override string getName()
        {
            return "学生姓名为" + this.Name;
        }
        public string Eat(string food)
        {
            return "学生在吃" + food;
        }
        public void Run()
        {
            Console.WriteLine("学生在跑");
        }
    }

至此,抽象方法的总结结束…

最后,其实所有的数据测试可以在云服务器进行,大家可以看看腾讯云的相关服务,买来作为测试数据的服务器非常不错

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5703790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存