OOP基础。OOP有三大目标,重用性、灵活性和扩展性。OOP有三大特性,封装、继承和多态。抽象尽管不是OOP的编程特性,但它却是全部编程语言的最大特性。封装,隐藏程序的属性和的实现细节,并控制属性的訪问权限,对外仅提供接口。继承,是对基类的代码进行利用并扩展基类,是一个从一般到特殊的过程。多态,执行...
分类:
其他好文 时间:
2014-07-03 10:48:06
阅读次数:
284
刚刚看到了C++代理模式,简单的学习了一下,当一个应用程序执行时,可以采用这种方法,至于到底怎么用,我还不知道。 A->B->C。 当应用A要执行的时候,采用代理B,B继承自协议C,实现C中的虚方法,C为一个抽象类,包含一个纯虚函数。这样的话,主函数中只需要执行A的方法就可以了。 下面用代...
分类:
编程语言 时间:
2014-07-02 19:22:40
阅读次数:
213
转自:http://blog.csdn.net/itolfn/article/details/7412364一:继承中的指针问题。1. 指向基类的指针可以指向派生类对象,当基类指针指向派生类对象时,这种指针只能访问派生对象从基类继承而来的那些成员,不能访问子类特有的元素 ,除非应用强类型转换,例如有...
分类:
编程语言 时间:
2014-07-02 19:05:47
阅读次数:
292
下面程序输出什么:#include<iostream>
usingnamespacestd;
classA{
public:
voidvirtualf(){
cout<<"A"<<endl;
}
};
classB:publicA{
public:
voidvirtualf(){
cout<<"B"<<endl;
}
};
intmain()
{
A*pa=newA();//定义了一个A类型的指..
分类:
其他好文 时间:
2014-07-02 15:32:58
阅读次数:
260
ASP.NET知识的学习流程我大概是这么理解的,首先我们必须打好C#的基础,若是之前没有学过C++之类的面向对象语言作为基础,还是要好好看看继承派生多态之类的区别和联系的;其次,当今的编程不仅仅只是我们在学校课堂上所学的控制台应用程序,我们还要学习winfom,WPF之类的本地窗体应用;第三,每.....
分类:
Web程序 时间:
2014-07-02 00:08:33
阅读次数:
176
面相对象的一个核心基础就是多态,当你要根据对象类型的不同要做不同的操作的时候,一个好的办法就是采用多态,把算法封装到子类当中去。重构前代码: 1 public abstract class Customer 2 { 3 } 4 5 public class Employee : Custome...
分类:
其他好文 时间:
2014-07-01 22:42:49
阅读次数:
545
游戏中的人物伤害值计算问题。
(一)方法(1):一般来讲可以使用虚函数的方法:
class GameCharacter {
public:
virtual int healthValue() const; //返回人物的体力值,派生类可以做出修改
...
}; 这确实是一个显而易见的设计选择。但因为这样的设计过于显而易见,可能不会...
分类:
编程语言 时间:
2014-07-01 15:39:40
阅读次数:
172
继承所谓封装,就是将对象的成员变量和成员函数包装和隐藏起来,对外界通过特定的接口来访问。public class User { private String name; public User (String name) { this.name = name; } ...
分类:
编程语言 时间:
2014-07-01 13:18:47
阅读次数:
216
OO的三大基础是封装、继承、多态。
这三者是有次序性的,没有封装就不可能有继承、没有继承就不可能有多态。
【封装(encapsulation)】
封装的目的是要将代码切割成许多模块(module),每个模块之间的关连性降到最低,这么一来比较不会产生“牵一发而动全身”的状况,降低相互依赖的程度,也等于是降低复杂度,可以让开发与维护更容易。
事实上,没有人用“模块”一词来称呼封装...
分类:
其他好文 时间:
2014-07-01 10:57:45
阅读次数:
162