zoukankan      html  css  js  c++  java
  • 抽象类和接口的应用

    1. 先定义一个基类 “人”

        /// <summary>
        /// 定义一个基类human
        /// 有姓名,性别,年龄等属性,吃饭睡觉等行为
        /// 1. 抽象方法必须放在抽象类中
        /// 2. 抽象类可以包含实例方法、字段、委托、别的类、事件、属性
        /// 3. 抽象类不能被实例化
        /// 4. is a
        /// </summary>
        public abstract class BaseHuman
        {
            public string Name { set; get; }
            public bool Sex { set; get; }
            public int Age { set; get; }
            public void Eat()
            {
                Console.WriteLine("{0}  have the eat action", this.Name );
            }
            public void Sleep()
            {
                Console.WriteLine("{0} have the sleep action", this.Name  );
            }
            public abstract void Career(); //因为职业可能不同,所以这里定义了抽象方法,那么类就必须定义成抽象类
        }

    2. 定义两个类“程序员”和“翻译官”

        /// <summary>
        /// 单继承,多接口
        /// </summary>
        public class Programmer:BaseHuman,Iknowledge
        {
            public override void Career()
            {
                Console.WriteLine("{0} is a programmer", this.Name);
            }
            public void Knowledge()
            {
                Console.WriteLine("{0} knows C#, SQL,Html", this.Name);
            }
        }
        class Translator:BaseHuman,Iknowledge 
        {
            public override void Career()
            {
                Console.WriteLine("{0} is a  translator", this.Name );
            }
            public void Knowledge()
            {
                Console.WriteLine ("{0} knows Englsh, Franch",this.Name );
            }
        }

    3. 定义一个接口

       /// <summary>
        /// 接口只能包含 方法、属性和事件
        /// 不能包含字段,实例方法,委托和别的类
        /// can do
        /// </summary>
        public interface Iknowledge
        {
            void Knowledge();
        }
  • 相关阅读:
    Java一次读取文本文件所有内容
    java Socket多线程聊天程序
    输出1-100内的质数(素数)
    random.nextInt()与Math.random()基础用法
    【bash】今天你坑队友了吗
    【awk】按小时切割日志
    python获取aliyun ECS实例
    记一次优化ansible inventory的小例子
    Apache Flume入门指南[翻译自官方文档]
    django入门-自定义管理界面-part7
  • 原文地址:https://www.cnblogs.com/xiao9426926/p/6141836.html
Copyright © 2011-2022 走看看