面试题:什么是面向对象 您所在的位置:网站首页 什么是面向对象编程思想的例子呢 面试题:什么是面向对象

面试题:什么是面向对象

2024-07-03 05:04| 来源: 网络整理| 查看: 265

思路:1.概念 2.举例(面向过程和面向对象的对比) 3.面向对象的三大特性 一. 概念

面向对象是一种思想,是基于面向过程而言的 ,它能让复杂问题简单化,程序员不需要了解具体的实现过程,只需要指挥对象去实现功能。

二. 举例(面向过程和面向对象的对比)

该例子来源于网络

例子:有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择

1、自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。(面向过程)

2、去饭店,告诉老板:老板!来一份鱼香肉丝!(面向对象)

面向对象有什么优势呢?首先你不需要知道鱼香肉丝是怎么做的,降低了耦合性。如果你突然不想吃鱼香肉丝了,想吃宫保鸡丁,对于1来说可能不太容易了,还需要重新买菜,买调料什么的。对于2就很容易,大喊:老板!那个鱼香肉丝换成宫保鸡丁吧,提高了可维护性。总的来说就是降低耦合,提高维护性!

面向过程是具体化的,流程化的,解决一个问题,需要一步一步的分析,一步一步的实现。

面向对象是模型化的,只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,我们不用管。

三. 面向对象的三大特性

1、封装 隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

将描述事物的数据和操作封装在一起,形成一个类;被封装的数据和操作只有通过提供的公共方法才能被外界访问(封装隐藏了对象的属性和实施细节),私有属性和方法是无法被访问的,表现了封装的隐藏性,增加数据的安全性。

2、继承

程序中的继承是类与类特征和行为的一种赠与或获得两个类之间的继承关系,必须满足 is a 的关系:子类 is a 父类 ,例如:狗 is a 动物

继承可以提高代码复用性;继承是多态的前提。

继承是使用已存在的类的定义,作为建立新类的基础技术,新类可以增加新的属性或新的方法,也可以用父类的功能,但不能选择性地继承。通过使用继承,能够非常方便地复用这些代码。

java为单继承,一个类只能有一个直接父类 java为单继承,不支持多继承,但可以多层继承,属性和方法是叠加的。

3、多态 父类或接口定义的引用变量,指向子类或具体实现类的实例对象。提高程序的拓展性。

简写:父类引用指向子类对象,从而产生多种形态

(1)父类引用只能调用父类定义的属性和方法,不能调用子类独有的属性和方法 (2)如果子类覆盖父类方法,执行子类覆盖之后的方法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有