
c
文章平均质量分 54
RunningSunBoy
Coding for fun~
展开
-
c#继承之里氏转换规则
1.在c#中如果一个类没有显示的去继承任何类,那么这个类就继承自object类,2.object类是所有类的基类面向对象的继承实际上就是一棵进化树,所有的子类在大类上都属于父类的类别(子类,父类中的“类”都是“类别”的意思)但子类相对于父类又增加了很多自己的属性和方法。难点在于:为什么子类拥有的“东西”(属性和方法)比父类多,但子类还是属于父类?貌似传统中内容的包含关系,子原创 2015-05-02 23:41:32 · 753 阅读 · 0 评论 -
c#继承
1.在实际项目开发中,每个类都应该单独写在一个类文件中,千万不要多个类在一个类文件中,这样不便于维护2.子类继承父类的public 和 protected的内容注意:子类其实也继承了父类私有的(private)字段,但是不能去访问,这就相当于你爷爷给你留下了有一亿存款的银行卡,但是没有告诉你密码——你有这个东西,但是你不能去访问。我们通常称这些不能访问的字段不叫继承以上很原创 2015-05-03 00:04:50 · 660 阅读 · 0 评论 -
c#多态
1多态是为了让相同类的不同对象尽可能的体现出不同的特性:c#中多态的实现有3种方法:虚方法,抽象类和接口虚方法:在父类中某一个特殊的方法做个标记,表示我知道这个方法在父类中怎么实现,但这个方法在子类中可能要被重写~用virtual标记的方法的调用优先级会被降低,那么1)父类对象去调这个方法的时候,就是调用虚方法本身(注意:虚方法和一般方法一样,也是可以被调用的)原创 2015-05-02 23:35:22 · 463 阅读 · 0 评论 -
设计模式-策略模式(c++实现)
设计模式-策略模式(c++实现)策略模式核心思想: 定义算法家族,将不同的算法封装起来,使得算法彼此之间可以相互替换实现方法: 提供接口作为基类,让派生类(算法)绑定在基类对象上,通过调用基类对象来调用不同派生类的方法,从而实现面向接口编程以下是用我用C++写的一个小demo:给出两个接口Iflyable和IQuackable,然后每种接口都提供两种策略来实现。主程序在不同的实现策略组合原创 2016-04-02 19:33:56 · 384 阅读 · 0 评论 -
c++设计模式-装饰器模式
c++设计模式-装饰器模式一、我对装饰器模式的理解1)通过包裹一个类(在该类的基础上,调用该类的方法,并加上一些附加的操作,并返回与该类继承自同一个基类的类(调用装饰器前后可以用同样的基类指针进行接收))装饰器和被装饰的对象必须有完全一致的方法名。只是在装饰器的方法中会调用被装饰对象的同名方法 如果装饰器和被装饰的对象方法名不一致,那么将导致装饰之后的结果不能再次被另外一个装饰器装饰(因为方法名已原创 2016-04-02 20:01:29 · 686 阅读 · 0 评论