前言:

面向对象,从C++开始,我们就开始接触,本篇博客来总结一下面向对象内容的基本内容,主要是一个宏观的总结,期中的每个知识点,都值得我们用心去总结,面向对象的知识很重要.C#,到现在学习java,我们都在逐步加深对面向对象的理解.

核心:

宏观导图:

这个思维导图我是看着软件设计师的第十章面向对象技术总结的,这里面不仅谈到了面向对象基础知识:封装/继承/多态,还讲解了UML图和设计模式,对于设计模式的理解,重点在于对面向对象基础的理解,加上类图(关系)+代码的对应,无论从代码还是从类图,都可以很好说出设计模式,真正掌握设计模式的,并不是记住具体哪个是哪个设计模式,遵循六大基本原则,就是设计模式的核心.关于设计模式还是要多多去用,运用六大基本原则构建自己的代码.

重点概括

这里我主要总结一下面向对象的基本知识:

基本定义

面向对象:不考虑步骤,不需要知道过程.

面向过程:实现的细节,以"我"为中心

内存理解

从代码上分析内存,无论何时,都是很重要,内存分析主要有四个:堆区,栈区,代码区,数据区.

关键字

构造函数

使用new+构造方法 

创建一个新的对象

构造函数与类名同名且没有返回值

当没有构造函数时,自动系统默认:point(){},一旦定义之后,系统不再添加

构造方法没有返回值

this关键字

代表使用该方法的对象的引用

需要指出当前使用方法的对象

this可以处理方法中成员变量和参数重名的情况

重写

在子类中可以根据需要对从基类中继承的方法进行重写
重写方法必须和被重写方法具有相同的方法名称、参数列表、返回类型
重写方法不能使用比被重写方法更严格的访问权限

super

在java类中使用super来引用基类

多态

指在执行期间判断所引用对象的实际类型,根据其实际的类型调用相应的方法(动态找方法,new谁找谁)
要有继承,要有重写,父类引用指向子类对象

抽象类

抽象类必须被继承

抽象方法必须被实现

抽象类不能被实例化

抽象方法只需声明,不需要实现.

final

final的变量不能被改变

final的方法不能被重写

final的类不能被继承

接口

接口与实现类之间存在多态性

接口是特殊的抽象类

接口可以多重实现

接口中只能定义抽象方法

接口可以继承其他的接口,并添加新的属性和抽象方法

总结:

这次重新学习了面向对象的知识,突然有种豁然开朗的感觉,相比之前的理解又加深了,更加体会到了学习是一个循序渐进的过程,好好保持总结的好习惯.