复习篇1.对象和封装
c/c++指针常见的坑。
1.避免内存泄漏:c/c++中,栈上的内存(比如说函数中的局部变量),使用完之后,操作系统会自动帮我们回收内存,但如果是通过动态分配得到的堆上的内存,需要我们手动释放。
如果忘记释放这些动态内存,而程序又是在持续运行的服务进程,会导致内存占用越来越高,轻者致残影响系统性能,重者致命导致系统进程崩溃。 总结起来一句话:不再用到的内存没有释放,就叫做内存泄漏。
通过动态内存分配函数或者new运算符分配的动态内存在使用完之后需要手动释放,否则会造成内存泄漏。建议:代码编写时注意malloc/free,new/delete成对使用。
static变量的生命周期,static变量生命周期比局部变量的时间长,static变量的生存期是整个程序运行期间。 建议:不要在函数中返回局部变量。有可能得到的结果不是你理想的结果。
定义一个变量记得赋初始值就算是NULL也可以。
复习 1.对象和封装
问:为什么使用面向对象?
答:因为使用面向对象会使性能增加,开发效率加快,代码重用性高,可靠性高等, 面向对象就是采用"现实模拟"的方法设计和开发程序。
问:面向过程和面向对象有什么区别?
答:假如一家公司要开发一个项目。面向过程比较注重过程,注重这个项目开发需要什么:开发后台的人,开发前台的人,开发工具,开发时间。
而面向对象比较注重对象,注重这个项目开发需要什么更深一点,开发后台的人是谁,前台的人是谁,工具用的是什么,时间要多久。
面向对象设计的过程就是抽象的过程。1.发现类。2.发现类的属性。3.发现类的方法。
根据业务需求去发现要定义的类,就是发现类。去发现类的特征是什么有什么属性去定义出来,就是发现类的属性。去发现这个类能干什么,比如跑,这个跑就是这个类的一个方法,这就是发现类的方法。
构造及方法重载
方法名与类名相同,没有返回值类型,没带参数为无参构造,带参数为有参构造。
必须在同一个类里,方法名相同,参数列表不同,与方法返回值和方法修饰符没有任何关系,叫做方法重载。
static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
封装:提高了安全性,给外界可见性。提高了代码的重用性。