随笔分类 -  面向对象

摘要:c++虚函数定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]语法:virtual 函数返回类型 函数名(参数表) { 函数体 }用途:实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数,也就是允许子类override父类同名方法。虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型(也就是完全相同的方法,不能只是函数名相同。)。以实现统一的接口,不同的定义过程。如果在派生类中没有对虚函数重新定义, 阅读全文
posted @ 2012-04-12 16:33 xwdreamer 阅读(967) 评论(0) 推荐(0) 编辑
摘要:1.抽象类与普通类抽象类就是比普通类多定义了一个抽象方法,出除了不能直接进行对象的实例化操作之外并没有任何的不同一个抽象类不可以使用final关键字声明,因为final声明的类表示不能被继承,而抽象类又必须辈子类重写。一个抽象类可以定义构造方法。抽象方法不要使用private声明:在使用abstract关键字修饰方法时不能使用private修饰,因为抽象方法必须被子类覆写,而如果使用了private声明,则子类是无法覆写的。在java中允许一个抽象类实现多个接口,而且抽象类实现接口可以不必实现接口中定义的方法。实例如下:1.1抽象类实现接口定义接口interface1View Code pub 阅读全文
posted @ 2012-04-11 10:13 xwdreamer 阅读(1033) 评论(0) 推荐(0) 编辑
摘要:1.参考文献参考1: C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定参考2:构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序参考3:C++构造函数与析构函数的调用顺序2.构造函数、析构函数与拷贝构造函数介绍2.1构造函数构造函数不能有返回值缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空创建一个对象时,系统自动调用构造函数2.2析构函数析构函数没有参数,也没有返回值。不能重载,也就是说,一个类中只可能定义一个析构函数如果一个类中没有定义析构函数,系统也会自动生成一个默认的析构函数,为空函数,什么都不做调用条件:1.在函数体内. 阅读全文
posted @ 2011-10-24 00:41 xwdreamer 阅读(3676) 评论(0) 推荐(0) 编辑
摘要:参考文献:http://www.cppblog.com/snowball/archive/2011/10/05/55051.html1.面向对象的三个基本特征是:封装、继承、多态。1.1封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。1.2继承面向对象编程(OOP)语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“ 阅读全文
posted @ 2011-10-24 00:23 xwdreamer 阅读(669) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示