博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博为峰Java面试题-Java 面向对象
阅读量:7154 次
发布时间:2019-06-29

本文共 1076 字,大约阅读时间需要 3 分钟。

hot3.png

[面试原题]

[题目]  什么是面向对象,语言面向对象有那些特点?

[正确答案]

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

例如五子棋,面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。

功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能。只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。

面向对象的编程语言的4个特点:

1.封装:

封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用电脑,只需要使用手指敲击键盘就可以实现一些功能,用户无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用电脑时并不完全依赖于电脑工作原理这些细节。

2.抽象:

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。

3.继承:

类与类之间同样具有关系,如一个百货公司类与销售员类相联系,类之间这种关系被称为关联。关联是描述两个类之间的一般二元关系,例如一个百货公司类与销售员类就是一个关联,再比如学生类以及教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。

4.多态:

多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样降低了维护的难度,节省了时间。在提到多态的同时,不得不提到抽象类和接口,因为多态的实现并不依赖具体类,而是依赖于抽象类和接口。

转载于:https://my.oschina.net/u/2971691/blog/776385

你可能感兴趣的文章
puppet安装
查看>>
【转载】【原创】贵在,难在,成在
查看>>
跨语言调用模块.TXT
查看>>
JMeter入门教程4:聚合报告详解
查看>>
.net 基本架构及CLR_dyli2000-ChinaUnix博客
查看>>
SOA,ESB和EAI之间的联系和区别
查看>>
ucos-iii任务
查看>>
listview 的 selection mode 训练小例子
查看>>
app性能测试之systrace
查看>>
Neo4j的查询语法笔记(二)
查看>>
php设计模式之——原型模式
查看>>
基于Android4.4 + 联芯L1860平台的短彩双卡方案 ---- (3) WAP PUSH
查看>>
docker控制机制-------cgroups
查看>>
关于DWR的运用
查看>>
Struts2框架提供的结果类型
查看>>
使用SignalR实现页面即时刷新(服务端主动推送)
查看>>
【不抱怨21天】实践手册(第一天)—改变自己
查看>>
解决apk文件下载后变zip
查看>>
用php操作xml的方法
查看>>
Logstash安装-源码
查看>>