关于static关键字C/C++里面都提到过,我就根据自己做的笔记再总结一下:不管是类字段或是类方法都能加static,加static和不加static有什么区别呢?不加static,那么类子段或者类方法都是属于对象的,仅仅属于对象,如果加上static那么它们就是属于类本身的,那么对象就不能去调用了,而只能由类来调用。关于静态和非静态之间的关系可以用一句话概况:非静态方法能调用静态关键字,反过来则不可以。
关于继承与多态:C++中的语法跟C#中的语法稍微有点不同,如果是C++要体现多态的话那么只需要基类成员函数前面加上virtual就行了,而C#中除了基类方法加virtual之外,派生类的方法前面要加上override改写关键字。那么一般情况下我们会在什么时候使用虚方法呢?一般用在:当使用派生类来构造基类对象的时候。其实在学习这部分的时候我产生了一个疑问,在使用虚方法时,因为是重写,那么会不会出现这种情况呢?就是在使用了虚方法之后,如果我用基类来构造基类对象,那么这时是重写后的呢还是仍然是原来的呢?这点我有点疑问,但是经过测试,我发现结果与我预期的一样,仍然是基类的~~~~~最后注意多态与重载的区别。
最后还想再总结一下new关键字,这个跟虚方法有点类似了,主要用在处理基类与派生类方法重名的时候,加上new关键字相当于隐藏基类方法,但不是重写!!!