//主的喂狗

class Program
    {
        static void Main(string[] args)
        {
            //我们来模拟一个主人养狗动物的例子 首先创建一个主人对象,同时主人买了条狗
            //买来条狗,主人一喂,狗会吃东西
            Person person = new Person();
            Dog dog = new Dog();
            person.feed(dog);//主人喂狗
          
        }
    }

//   主人类

class Person { //主人喂狗
       public void feed(Dog dog) {
           dog.eat();
       } 
   }

//狗类

class Dog {
        //狗吃东西动作
        public void eat(){
            Console.Write("狗吃东西"); }
         }

//过了几天张三这哥们在市场上看到一只猫,又想喂猫了

class Cat     {

public void eat() {

Console.Write("猫吃东西");

}

}

class Program
    {
        static void Main(string[] args)
        {
            //我们来模拟一个主人养狗动物的例子 首先创建一个主人对象,同时主人买了条狗
            //买来条狗,主人一喂,狗会吃东西
            Person person = new Person();
            Dog dog = new Dog();
            Cat cat = new Cat();
            person.feed(dog);//主人喂狗
            person.feed(cat);//主人喂猫
        }
    }

//又没过几天又看到一只兔子,又想养兔了

这时候我们是不是感觉程序有点不好扩展了

我们想既然是养动物,我们为何不创建个动物类了

class Anmail
    {
          //动物吃东西动作
        public void eat(){
         }
    }

//到时候什么狗 猫 兔都继承 Anmail类就好了

//那么主人里面的可以这么写就好了

class Person { //主人喂狗 
       //主人喂动物
       public void feed(Anmail anmial)
       {
           anmial.eat();
       }
   }

//主程序可以这么写了

class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();
            Anmail an= new Dog();( 养狗 养猫) // Anmail an= new Cat()
            person.feed(an);//主人喂狗或主人喂猫 
        }
    }

//写到这里是不是稍微感觉到多态的好处了,当然这只是一个小例子

下面说下  Anmail an= new Dog()

这个就是父只向子

转载于:https://www.cnblogs.com/yzenet/archive/2013/01/17/2865233.html

C#关于面对象多态例子相关推荐

  1. Java面对对象(多态)

    Java面对对象(多态) 一,object类和toString Object 类|老祖宗类 ​ 是java 中所有类的父类 ​ 在java中的所有类都会直接或者间接的继承自Object类 ​ ​ to ...

  2. python之⾯向对象-多态

    python之⾯向对象-多态 ⼀. ⾯向对象三⼤特性 封装 将属性和⽅法书写到类的⾥⾯的操作即为封装 封装可以为属性和⽅法添加私有权限 继承 ⼦类默认继承⽗类的所有属性和⽅法 ⼦类可以重写⽗类属性和⽅ ...

  3. java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况

    /* 样例1:class Parent{int num = 3;}class Child extends Parent{int num = 4;} *//* 样例2: class Parent{}cl ...

  4. Python入门100个实例(20)——对象的例子

    从本实例学到什么 结合例子阐述对象是什么 对象的方法的例子 背景和例子 假设我们要开发学生成绩管理系统.这个软件具有以下功能: 1. 记录每个学生的语文.数学和英语成绩. 2. 求学生的总成绩. 3. ...

  5. python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!

    原标题:这是我见过最详细的Python面向对象编程!建议收藏! 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 ...

  6. python对象编程例子-python面向对象编程练习

    练习题 1.面向对象三大特性,各有什么用处,说说你的理解. 面向对象的三大特性: 1.继承:解决代码的复用性问题 2.封装:对数据属性严格控制,隔离复杂度 3.多态性:增加程序的灵活性与可扩展性 2. ...

  7. python对象编程例子-python面向对象编程:python类和实例讲解

    东尧爱分享 这是东尧每天一篇文章的第51天 东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福. 1 什么是对象 在python里面,一切皆为对象.也就是说python里的所有数据都 ...

  8. java 面相,java学习17-面相对象(多态)

    多态 --父类或者接口的引用指向自己的子类对象. 优点:提高代码的扩展性 弊端:前期建立父类的引用,虽然可以接受后期所有该类的子类的对象.但是只能使用父类中的功能,不能使用子类特有的功能,因为前期的程 ...

  9. Java学习笔记类对象多态继承(下)

    面向对象(下) 1.类的继承 一.什么是继承,有什么用? 继承:在现实世界当中也是存在的,例如:父亲很有钱,几子不用努力也很有钱 继承的作用: 基本作用:子类继承父类,代码可以得到复用.(这个不是重要 ...

最新文章

  1. centos7升级自带的php5.4版本到php5.6
  2. ​灾备,让世界早有准备
  3. Frameless - 用于预览 iOS8 原型的浏览器
  4. MFC消息详解 (WindowProc|OnCommand|OnNotify)
  5. 构建之法---初识篇(软件工程师的成长和两人合作)
  6. Linux学习笔记15—RPM包的安装OR源码包的安装
  7. Linux:Access time、 Modify time 、Change time 和 find 命令使用解析
  8. socket编程(十)
  9. python——异常except语句用法与引发异常
  10. not1,not2,bind1st,bind2nd
  11. 基于单片机的GPS开发 (four) GPS基础知识
  12. 【NLP】第10章 使用基于 BERT 的 Transformer 进行语义角色标记
  13. jdt 解析java语句,利用JDT 回分析java 源代码
  14. 系统注册表常用设置100例
  15. 关于互联网公司的加班制度,我想说点心里话
  16. ConvertUtil
  17. ImageIO javax.imageio;读取图片问题
  18. vss 2005 手册
  19. px、pt、dpi、dip、分辨率、屏幕尺寸等等概念
  20. 链表c语言代码题库排坐标,C语言讲义——链表完整代码

热门文章

  1. typora新增主题,typora将主题导入本地
  2. Texlive安装与环境变量配置
  3. 2022-2028年中国床上用品行业投资分析及前景预测报告
  4. 2022-2028年中国镀金属膜行业市场研究及前瞻分析报告
  5. 2022-2028年中国集装箱涂料行业市场研究及前瞻分析报告
  6. Docker学习(四)-----Docker容器常用命令
  7. python压缩和解压缩
  8. python2转python3文件
  9. Adam那么棒,为什么还对SGD念念不忘 (1) —— 一个框架看懂优化算法
  10. 来谈谈Servlet~~