Java中面向对象的特征

封装

封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的"高内聚,低耦合",防止程序相互依赖性而带来的变动影响。
在面向对象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰,更为有力。
面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“模块中”,也就是一个类中,属性用变量定义,行为用方法进行定义,方法可以直接访问同一个对象中的属性。把握一个原则:把对同一事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一个类中。

继承

在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需求,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性

多态

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

多态的实现

在刚刚开始就提到了继承在为多态的实现做了准备。子类Child继承父类Father,我们可以编写一个指向子类的父类类型引用,该引用既可以处理父类Father对象,也可以处理子类Child对象,当相同的消息发送给子类或者父类对象时,该对象就会根据自己所属的引用而执行不同的行为,这就是多态。及多态性就是相同的消息使得不同的类做出不同的响应。

Java实现多态有三个必要条件:继承,重写,向上转型
  • 继承:在多态中必须存在有继承关系的子类和父类。
  • 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
  • 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能具备技能调用父类的方法和子类的方法。
实现形式:继承和接口

基于继承的实现机制主要表现在父类和继承该父类的一个或者多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为,继承都是单继承,只能为一组相关的类提供一致的服务接口。
但是接口可以多继承多实现,他能够利用一组相关或者不相关的接口进行组合与扩充,能够对外提供一致的服务接口,所以它相对于继来说有更好的灵活性。


以上,封装,继承,多态称之为面向对象的三大特征。
除此之外,抽象也可以算是一个特征

抽象

抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,并且会忽略与当前主题和目标主题无关的哪些方面,将注意力集中在与当前目标有关的方面。例如,看到一只蚂蚁和大象,你能够想象出他们的相同之处,那就是抽象。抽象包括行为抽象和状态抽象两个方面。例如:定义一个person类,定义他们的一些属性,name/age/sex等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值