C#关于面对象多态例子
//主的喂狗
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#关于面对象多态例子相关推荐
- Java面对对象(多态)
Java面对对象(多态) 一,object类和toString Object 类|老祖宗类 是java 中所有类的父类 在java中的所有类都会直接或者间接的继承自Object类 to ...
- python之⾯向对象-多态
python之⾯向对象-多态 ⼀. ⾯向对象三⼤特性 封装 将属性和⽅法书写到类的⾥⾯的操作即为封装 封装可以为属性和⽅法添加私有权限 继承 ⼦类默认继承⽗类的所有属性和⽅法 ⼦类可以重写⽗类属性和⽅ ...
- java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
/* 样例1:class Parent{int num = 3;}class Child extends Parent{int num = 4;} *//* 样例2: class Parent{}cl ...
- Python入门100个实例(20)——对象的例子
从本实例学到什么 结合例子阐述对象是什么 对象的方法的例子 背景和例子 假设我们要开发学生成绩管理系统.这个软件具有以下功能: 1. 记录每个学生的语文.数学和英语成绩. 2. 求学生的总成绩. 3. ...
- python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!
原标题:这是我见过最详细的Python面向对象编程!建议收藏! 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 ...
- python对象编程例子-python面向对象编程练习
练习题 1.面向对象三大特性,各有什么用处,说说你的理解. 面向对象的三大特性: 1.继承:解决代码的复用性问题 2.封装:对数据属性严格控制,隔离复杂度 3.多态性:增加程序的灵活性与可扩展性 2. ...
- python对象编程例子-python面向对象编程:python类和实例讲解
东尧爱分享 这是东尧每天一篇文章的第51天 东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福. 1 什么是对象 在python里面,一切皆为对象.也就是说python里的所有数据都 ...
- java 面相,java学习17-面相对象(多态)
多态 --父类或者接口的引用指向自己的子类对象. 优点:提高代码的扩展性 弊端:前期建立父类的引用,虽然可以接受后期所有该类的子类的对象.但是只能使用父类中的功能,不能使用子类特有的功能,因为前期的程 ...
- Java学习笔记类对象多态继承(下)
面向对象(下) 1.类的继承 一.什么是继承,有什么用? 继承:在现实世界当中也是存在的,例如:父亲很有钱,几子不用努力也很有钱 继承的作用: 基本作用:子类继承父类,代码可以得到复用.(这个不是重要 ...
最新文章
- centos7升级自带的php5.4版本到php5.6
- ​灾备,让世界早有准备
- Frameless - 用于预览 iOS8 原型的浏览器
- MFC消息详解 (WindowProc|OnCommand|OnNotify)
- 构建之法---初识篇(软件工程师的成长和两人合作)
- Linux学习笔记15—RPM包的安装OR源码包的安装
- Linux:Access time、 Modify time 、Change time 和 find 命令使用解析
- socket编程(十)
- python——异常except语句用法与引发异常
- not1,not2,bind1st,bind2nd
- 基于单片机的GPS开发 (four) GPS基础知识
- 【NLP】第10章 使用基于 BERT 的 Transformer 进行语义角色标记
- jdt 解析java语句,利用JDT 回分析java 源代码
- 系统注册表常用设置100例
- 关于互联网公司的加班制度,我想说点心里话
- ConvertUtil
- ImageIO javax.imageio;读取图片问题
- vss 2005 手册
- px、pt、dpi、dip、分辨率、屏幕尺寸等等概念
- 链表c语言代码题库排坐标,C语言讲义——链表完整代码