浅谈面向对象思想

1.面向对象是面向过程而言.两者都是一种思想。
(1)面向过程:强调的是功能行为。(强调过程、动作)

 (2)面向对象:将功能封装进对象,强调了具备了功能的对象。(强调对象、事物)

 (3)面向对象是基于面向过程的。将复杂的事情变简单了。

 (4)面向过程-->面向对象:执行者-->指挥者

 (5)打个比方:面向过程,自己造电脑。面向对象,自己组装电脑。

2、面向对象在java中是如何实现的?

(1)通过类:类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。

(2)封装:是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常 对客户隐藏其实现细节,这就是封装的思想,用户只能通过对外提供的接口访问数据。

 特点:提高了类的内聚性,降低了对象之间的耦合性。

(3)多态:是指允许不同类的对象对同一消息做出响应,根据对象创建实例的不同调用不同的方法,本质是编译时和运行时才决定对象的行为。

 特点:可替换性,灵活性,扩展性,统一编码风格。

(4)继承:继承是指从已有的类中派生新的类,新的类能够吸收已有类的数据属性和行为,并能够扩展新的功能。

特点:可扩展性,代码复用。

3、为什么使用面向对象编程?
  (1)面向对象编程:一组对象互相配合通过沟通完成特定功能

  (2)做软件苦苦追求的一种境界是可重用性(reusable),可扩展性。如果是面向过程,一般情况是属性和方法它们是分开的,他们不是聚合的关系,不是合在一起的,这样要复用起来比较麻烦,复用的层次只是局限于方法这个层次上,而面向对象则不同,它是把属性和方法综合在一个里面。综合在一起复用的时候是整个对象进行复用。所以面向对象和面向过程相比,前者更加容易让我们达到可重用性。

4、面试——你是如何理解java的面向对象思想
当面试官问这个问题时:

(1)首先,要引申出类:类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象来的,对象是类的一个实例。

(2)然后,围绕类的三个特征来说:封装、继承和多态。可以结合实际生活或者项目开发中的实际场景进行阐述。

(3)如下为个人总结答案,不喜勿喷:

    (1)在我理解,面向对象是一种“万物皆对象”的编程思想。很多个具有相同属性和行为的对象就可以抽象为类,对象是类的一个实例。面向对象在java中正是通过类来实现的。

     (2)类具有三个基本特征:封装、继承、多态(重点)。

      封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,隐藏对象属性和实现细节,仅对外提供访问形式,提高安全性和代码复用性。

      继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每个子类是特殊的父类--有父类的行为和属性,也有 自己特有的行为和属性,扩展了已存在的代码块,进一步提高了代码的复用性。

      多态是指允许不同类的对象对同一消息做出不同响应,允许父类引用(或接口)指向子类(或实现类)对象,从一定角度来 看,封装和继承几乎都是为多态而准备的,类中多个方法的重载叫多态,父子类中方法的覆盖也叫多态。提高了软件 的可重用性和可扩充性。大多设计模式都是围绕多态(可以通过这句将面试官的兴趣引到设计模式方面)

猜你喜欢

转载自blog.csdn.net/lxyy0530/article/details/82532447