JavaSE面向对象相关题

JavaSE面向对象相关题
1.己知如下Java类定义:
class Base{
public Base(){…}
public void fun(int n){…}
}
public class Child extends Base{

//member methods
}

如下哪句可以正确地被加入Child类中(D)
A) pr:ivate void fun(int n) {. . . }
B) void fun(int n) {… }
C) protected void fun(int n) {…}
D) public void fun(int n) {…}

2.若类A仅在其方法Methodl中定义并使用了类B的一个对象,类A其他部分的代码都不涉及类B,那么类A与类B的关系应为(B);若类A的某个属性是类B的一个对象,并且类A对象消失时,类B对象也随之消失,则类A与类B的关系应为 ( A )。
A)关联
B)依赖
C)聚合
D)组合

3.Java中实现多态的机制是什么?
多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

4.面向对象编程的三个基本特征: 封装 、 继承 、 多态 。
5.关于面向对象的基本原则描述如下,请任选三条进行简单解释。
S.Single Responsibility Principle - SRP(单一职责原则)
o.Open-Closed Principle - OCP(开放封闭原则)
L.Liskvo Substitution Principle - LSP(里氏替换原则)
I.Interface Segregation Principle - ISP(接口隔离原则)
D.Dependency Inversion Principle - DIP(依赖倒置原则)

单一职责原则SRP(Single Responsibility Principle)
就一个类而言,应该仅有一个引起它变化的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。单一职责的划分界限并不是总是那么清晰,很多时候都是需要靠个人经验来界定。当然,最大的问题就是对职责的定义,什么是类的职责,以及怎么划分类的职责。

开放封闭原则OCP(Open-Close Principle)
一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,
那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

里氏替换原则(the Liskov Substitution Principle LSP)
一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别,也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。
比如:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。

接口隔离原则(Interface Segregation Principle)

接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。

依赖倒转原则(Depende

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值