5 继 承5.1
类、超类和子类用super访问父类。由于子类无法直接访问超类的私有域,所以子类对超类私有域的初始化必须调用超类的构造器。如果子类的构造器没有显式调用超类的构造器,则自动调用超类的无参构造器。this用途:一是引用隐式参数,二是调用该类的其他构造器。super用途:一是调用超类的方法...
分类:
编程语言 时间:
2014-06-09 22:05:32
阅读次数:
329
子类在继承父类后,创建子类对象会首先调用父类的构造函数,先运行父类的构造函数,然后再运行子类的构造函数,例如以下所看到的:class
Father{ public Father(){ System.out.println("I am father"); }}public class Child
e....
分类:
编程语言 时间:
2014-06-09 19:22:33
阅读次数:
203
overload和override的区别 override(重写)
1、方法名、参数、返回值相同。2、子类方法不能缩小父类方法的访问权限。3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。4、存在于父类和子类之间。5、方法被定义为final不能被重写。overloa...
分类:
其他好文 时间:
2014-06-09 19:14:38
阅读次数:
235
import sysfrom PyQt4 import
QtGui#每一个qt都需要一个application对象app=QtGui.QApplication(sys.argv)#QWidget是qt所有用户界面的父类widget=QtGui.QWidget()widget.resize(250,1...
分类:
其他好文 时间:
2014-06-09 15:30:55
阅读次数:
231
1、一个类占用的空间主要是属性占用空间,而成员函数一般不占用空间,但是虚函数占用空间,需要说明的是,无论多少个虚函数,只要占用4个字节即可,也就是索引指向一个虚拟表的首位置。另外需要说明的是占用空间都考虑了对齐,所以不足4个的按照满4个的算。2、类的继承,子类占用空间是父类基础上增加本类空间即可。所...
分类:
编程语言 时间:
2014-06-08 21:23:22
阅读次数:
496
下面有两个例子。一个是告诉我们调用方法也需要处理被调用者所抛出的异常;另一个是告诉我们父类可以被用来捕获或者处理异常。
1.调用方法必须处理被调用者所抛出的异常
下面是一个小小处理异常的程序。仅仅只是为了测试,如果在一个方法里抛出一个异常,不仅仅那个方法,而且调用该方法的所有方法必须声明或抛出该异常。
public class exceptionTest {
private stat...
分类:
编程语言 时间:
2014-06-08 10:49:52
阅读次数:
282
背景大一的时候第一次接触iOS编程,当时的感觉就是:Xode真乃神兵利器也! 时隔三载,今日故地重游,不妨就用Xcode造一把“神兵利器”:无敌大锤子,回顾一下iOS编程中常见的问题。基础再厉害的神兵利器,说到底也就是一把普通的武器。 我们可以抽象出所有武器共有的特性,作为神兵利器的父类。 首先我们先创建一个最简单的武器Weapon类。//
// Weapon.h
// Weapon
//
/...
分类:
移动开发 时间:
2014-06-08 09:23:01
阅读次数:
279
1. 一个类中的初始化顺序
(静态变量、静态初始化块)=>(变量、初始化块、构造器)。
2. 两个具有继承关系类的初始化顺序
父类的(静态变量、静态初始化块)=> 子类的(静态变量、静态初始化块)=> 父类的(变量、初始化块、构造器)=> 子类的(变量、初始化块、构造器)。...
分类:
编程语言 时间:
2014-06-08 04:59:58
阅读次数:
182
刚发现这个问题的时候太都头疼了,没有init怎么viewDidLoad呢??后来发现这是因为重载的原因,父类里面同样有initWithNibName方法,这样执行的顺序就是:initWithNibName(父类)->viewDidLoad(子类)->viewDidLoad(父类)->initWith...
分类:
其他好文 时间:
2014-06-07 22:47:29
阅读次数:
277
C++面向对象中,虚函数与虚继承是两个完全不同的概念。一、虚函数
C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表。派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容...
分类:
编程语言 时间:
2014-06-07 20:28:48
阅读次数:
344