美文网首页
动态多态性,代码设计结构

动态多态性,代码设计结构

作者: Unity开发 | 来源:发表于2016-12-13 22:03 被阅读44次

*里氏替换原则实现方法:子类可以出现在任何父类

 * 

 * 动态多动性:

 * 1.虚方法的多态

 * 2.抽象方法的多态

 * 3.接口方法的动态多动性

 * 

 * 动态多动性的作用:

 * 1.实现功能定义与功能实现香脱离,实现代码进一步灵活性

 * 2.实现系统设计与系统代码想脱离,实现代码稳定性,减少系统BUG

 * 

class Person

{

public virtual void Speak(){

Console.WriteLine("父类说");

}

}

class Zhang:Person

{

public override void Speak ()

{

Console.WriteLine("张说");

}

}

interface IPerson

{

void Speak ();

}

interface IPersontwo

{

void Speak ();

}

class Chinese:IPerson,IPersontwo

{

void IPerson.Speak()

{

Console.WriteLine ("中国人说中国话");

}

void IPersontwo.Speak()

{

Console.WriteLine ("中国人还会说英语");

}

}

class MainClass

{

public static void Main (string[] args)

{

Person p = new Zhang ();

p.Speak ();

//动态多态性之接口

Chinese c=new Chinese();

((IPerson)c).Speak ();

IPerson ip = new Chinese ();

ip.Speak ();

IPersontwo ip2 = new Chinese ();

ip2.Speak ();

}

}

代码设计结构

//代表发邮件的功能

interface IEmailSender

{

void Send(Customer customer);

}

abstract class Customer:IEmailSender

{

public string name;

public string eamil;

abstract public void Send(Customer customer);

}

class CommonCustomer:Customer

{

public override void Send(Customer customer){

Console.WriteLine("普通用户发邮件" + customer.name);

}

}

class VipCustomer:Customer

{

public override void Send(Customer customer){

Console.WriteLine("vip用户发邮件" + customer.name);

}

}

class MainClass

{

public static void Main (string[] args)

{

//创建普通用户

CommonCustomer cc = new CommonCustomer();

cc.name = "普通用户A";

cc.Send (cc);

//创建vip

VipCustomer vc = new VipCustomer();

vc.name = "Vip用户";

vc.Send (vc);

}

}

相关文章

  • 动态多态性,代码设计结构

    *里氏替换原则实现方法:子类可以出现在任何父类 * * 动态多动性: * 1.虚方法的多态 * 2.抽象方法的多态...

  • 运行时实现Java的多态性

    姓名: 李小娜 [嵌牛导读]: 运行时多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“...

  • 浅谈动态数组&数据结构(object-C)

    什么是数据结构? 接下来我们手写一个动态数组 首先动态数组的接口设计如下: 实现代码如下: #import ...

  • 动态多态性

    里氏替换原则的实现方式:子类可以出现在任何需要父类出现的地方 动态多态性: 1.虚方法的动态多态性 2.抽象方向的...

  • C++<第二十五篇>:多态

    多态性是面向对象程序设计的一个重要特征,利用多态性可以设计和实现一个易于扩展的系统。在C++语言中,多态性是指具有...

  • 多态性

    多态性意味着有多重形式,在面向对象编程中,多态性往往表现为“一个接口,多个功能”。多态性可以分为静态和动态两种。在...

  • 用OC认识设计模式(二)--结构型模式

    用OC代码认识设计模式(一)--创建型模式用OC代码认识设计模式(二)--结构型模式用OC代码认识设计模式(三)-...

  • 用OC代码认识设计模式(三)--行为型模式

    用OC代码认识设计模式(一)--创建型模式用OC代码认识设计模式(二)--结构型模式用OC代码认识设计模式(三)-...

  • 用OC代码认识六大设计原则

    用OC代码认识设计模式(一)--创建型模式用OC代码认识设计模式(二)--结构型模式用OC代码认识设计模式(三)-...

  • 动态规划-js

    动态规划 参考:算法分析与设计-贪心&动归 漫画:什么是动态规划? 【数据结构与算法】 DP 动态规划 介绍 介绍...

网友评论

      本文标题:动态多态性,代码设计结构

      本文链接:https://www.haomeiwen.com/subject/jnibmttx.html