一、什么是面向对象?

对比面向过程,是两种不同的处理问题的角度。

面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者(对象),及各自需要做些什么

举例说明:洗衣机洗衣服

面向过程:会将任务拆解成一系列的步骤(函数),1、打开洗衣机---》2、放衣服---》3、放洗衣粉---》4、清洗---》5、烘干

面向对象:会拆分出人和洗衣机两个对象。

人:1、打开洗衣机---》2、放衣服---》3、放洗衣粉

洗衣机:1、清洗---》2、烘干

总结:从以上例子明显看出,面向过程比较直接高效,而面向对象更易于复用、扩展和维护。

二、面向对象三大特性:封装、继承、多态

封装:封装的意义,在于明确标识出允许外部使用的所有成员行数和数据项。也就是说内部细节对外部调用透明,外部调用无需修改或者关心内部实现。以下列举两个常见的封装案例

1.javabean的属性私有,提供getset对外访问,因为属性的赋值或者获取逻辑只能由javabean本身决定,而不能由外部胡乱修改。

private String name;
public void setName(String name) {this.name = "xiaowu" + name;
}
// 该name有自己的命名规则,明显不能由外部直接赋值。

2.orm(Mybatis)框架别人已经封装好,我们只需要引入mybatis依赖,复用对象,调用方法即可。而无须关系底层数据库链接如何建立的,Sql如何执行的等一系列操作。

继承:继承基类的方法,并做出自己的改变和扩展。子类共性的方法或者属性直接使用父类的,而不需要自己再定义,只需要扩展自己个性化的。

多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。多态要满足三个条件,那就是继承、方法重写、父类引用指向子类对象要同事满足。多态无法调用子类特有的功能。

父类类型 变量名 = new 子类对象;
变量名.方法名();

谈谈面试题之什么是面向对象?谈谈你对面向对象的理解?相关推荐

  1. 什么是面向对象? 谈谈你对面向对象的理解

    面试官提问:什么是面向对象? 谈谈你对面向对象的理解 面试题拆解: 这道面试题对于工作时间不是很长的Java程序员来说,出现频率是比较高的. 那么到底什么是面向对象呢?讲面向对象之前,需要先聊一下面向 ...

  2. 谈谈我对面向对象以及类与对象的理解

    对于刚接触JAVA或者其他面向对象编程语言的朋友们来说,可能一开始都很难理解面向对象的概念以及类和对象的关系. 面向对象 首先,一言不和先百度,得到如下定义: 一切事物皆对象,通过面向对象的方式,将现 ...

  3. python登录面向对象_python基础之面向对象

    面向对象编程 面向过程编程:根据业务逻辑从上到下写代码,主要突出在流程上 函数式编程:将某些功能封装在函数里,日后不用重复编写,仅调用函数即可 面向对象编程:对函数进行分类和封装,让开发"更 ...

  4. JS面向对象一:MVC的面向对象封装

    JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程. 面向对象的一 ...

  5. [.net 面向对象编程基础] (13) 面向对象三大特性——多态

    [.net 面向对象编程基础] (13) 面向对象三大特性--多态 前面两节,我们了解了面向对象的的封装和继承特性,面向对象还有一大特性就是多态.比起前面的封装和继承,多态这个概念不是那么好理解.我们 ...

  6. python面向对象生动讲解_Python面向对象语法精讲

    本专题的内容结构: 第一部分主要是:面向对象基础 第二部分主要是:面向对象进阶 第一部分的结构: unit1:面向对象编程模式: (1),面向对象编程思想 (2),面向对象的三个特征 (3),Pyth ...

  7. 笔记整理-信息系统开发基础-面向对象分析与设计-面向对象设计的基本任务

    面向对象设计的基本任务,把面向对象分析模型转化为面向对象的设计模型,具体包括以下任务:设计人员必须完成以下任务:设计用例实现方案.设计技术支撑设施.设计用户界面.精化设计模型. 面向对象的分析模型主要 ...

  8. 什么是对象,为什么要面向对象,怎么才能面向对象?

    一. 面向对象,这个对象到底是什么? 这个对象不是C#中的实例,C#中我们把一个类的实例也叫做对象,这种对象严格的说应该是面向对象的编程实现(OOP)中的对象,面向对象编程,也不是面 向类的实例编程. ...

  9. 什么是面向对象_什么是面向对象?新手程序员必掌握的技能

    面向对象是指基于逻辑对象的概念构建的编程语言,系统或软件方法.它通过创建,利用和操纵可重用对象来执行特定任务,过程或目标. 什么是面向对象? 面向对象程序设计是种具有对象概念的程序编程典范,同时也是一 ...

  10. Java面向对象编程篇2——面向对象三大特点

    Java面向对象编程篇2--面向对象三大特点 1.封装 1.1.封装的概念 通常情况下可以在测试类给成员变量赋值一些合法但不合理的数值,无 论是编译阶段还是运行阶段都不会报错或者给出提示,此时与现实生 ...

最新文章

  1. undefined reference to `libiconv_open 无法编译PHP
  2. oracle 取第三大的值,Oracle数据基础(三)
  3. 云炬随笔20171227
  4. 类中的静态成员函数访问非静态成员变量
  5. 优秀的SharePoint 2013开发工具有哪些(二)
  6. python-演练-通过描述符来控制另一个类的实例化参数
  7. JavaScript玩转机器学习:张量(Tensors) 和 操作(operations)
  8. c#获取部分DRAW
  9. 家中路由添加静态IP映射(一)
  10. 没想到!谷歌排名第一的编程语言,这样的学的话,更容易成为高手!
  11. mysql中 if语句的使用
  12. Edge浏览器支持IE内核 / 增加Edge兼容性
  13. 借用计算机简谱,电脑编辑打印简谱之路怎么走——“电脑简谱助手”操作系列谈之二...
  14. 学习weka(1):weka软件安装使用教程
  15. Oracle触发器原理、创建、修改、删除
  16. 鹏博士总经理陆榴遭免职 董事称事发突然
  17. 阿里安全潘多拉实验室首先完美越狱苹果iOS 11.2
  18. 雄关漫道真如铁,而今迈步从头越 | 挥别2022,再战2023!
  19. ESP8266开发之旅 应用篇④ WiFi广告机
  20. linux学习---brk(), sbrk() 用法

热门文章

  1. 如何在Linux上使用strings命令
  2. GO vs PHP ,谁更适合创业公司的中台搭建?(文末赠书)
  3. 数据库oceanbase出现 field list ambiguously defined情况
  4. 图片翻转代码linux,Android实现图片顺时逆时旋转及拖拽显示效果
  5. css3背景渐变与边框阴影
  6. Visual Studio2010保姆式安装教程(VS2010 旗舰版),以及如何运行第一个C语言程序,超详细
  7. JavaScript 常用运算符
  8. Docker搭建3主3从Redis Cluster集群
  9. 定时关闭和启动IIS和Web网站
  10. Ubuntu20.04安装yum和yum-utils方法(原创)