如何理解面向对象?java
什么是面向对象,面向对象其实就是一种设计模型。不用理解太多,这里不是最重要。android
面向对象的基本特征如何理解?算法
1)抽象:将相同事物抽象出来成为一种数据结构,或者是用类(面向对象),或者是用结构体(面向过程)好比KNN算法,求解测试样本的k个邻接点,这k个邻接点,甚至整个邻接点均可以抽象出来一种数据结构。在好比决策树算法中,构建决策树,因为一个决策树有多个结点,结点和结点之间互相生成。首先要抽象出结点的数据类型,这就是抽象。编程
2)封装:封装的好处就是使离散的数据总体化,将离散的数据组织起来,利于管理。在使用的时候,一个是使用方面,二个语意理解容易。好比说咱们传参数的时候,你传个对象,就比传多个参数就好,由于你要调用的是多个参数。例如在hibernate中常常把取出的记录,封装到javabean中,再或者Struts中,常常讲输入的数据封装到表单中,都是体现了封装的思想。设计模式
3)继承:继承体现了代码的复用性提升了,继承体现了is a的特性,好比吧,人和老人,儿童,老人和儿童 all is people ,接口体现了 like a的特性,好比猫和狗,他们都会睡觉,他们之间有相同的行为,就能够理解他们之间很像。数据结构
4)多态:是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。在传参数的时候,能够接受多种相关类型的参数。框架
面向对象中一些基本概念和术语理解ide
可复用性(可重用性):;举个例子,在j2ee中,常常会出现多个service调用一个dao,那个dao的复用性就获得了大大的提升了。这样的话,分层很好,维护更加容易。测试
设计模式如何理解?大数据
1)常见的基本原则,这些原则具备指导性,后期的设计模式在设计的时候,它都遵循了必定的规范,但千万不要为基本原则所累,了解下,体会下,领悟下,就能够了。
2)理解真正的设计模式,有助于对网站,android,各类开发框架,甚至是大数据各个平台和软件维护都有更好的理解,真正理解了它,若是在懂算法的话,你就能够真正的去有读源码的功底了,若是达到这样的话,你的编程水平,就不是普通级别的人了。