java面向对象三大特征_面向对象的三大特征

三大特征:封装-->提高程序的安全性 (数据的准确性)

继承-->提高代码的复用性 (重复使用性)

多态-->提高程序的可扩展性和可维护性

一、封装

隐藏对象内部的复杂性,只对外公开简单的接口,便于外界调用,提高程序的安全性

隐藏实现的细节 仅仅需要关注具体的功能

方法的抽取 仅仅需要关注方法的功能 忽略方法实现的细节

项目的模块化设计 层次的划分

1、对类的属性进行隐藏

使用private关键字 修饰类的成员变量

private修饰的成员变量 仅仅可以在当前类中直接使用a45ee2f04a58dbe0c1d1ceb85b6bea77.png

2、给每个属性提供公有的get(获取)和set(赋值)方法fce7c3b44dc8f43cb92a96d4414d1091.png

测试代码:c50cf2925c5f5341b1a80d7752f0ff8c.png

总结:属性全部隐藏 对象内部的特点不让外界知道 我们仅仅需要关注对象的功能即可 内部的实现 使用了哪些成员 统统不用考虑

数据的安全性和和规范性更高

二、继承

java中由已知类创建新类的一种机制,新类拥有已知类的属性和方法,同时,还可以有自己独有的属性和方法

减少相同代码的反复编写,提高代码的复用性,减少编码量,提高程序的可维护度

继承是怎么来的?

是对N多个类的抽像

根据N多个类,抽取出像的部分,归纳为父类,被抽取的类,称为子类

1、在Java中如何实现继承?

在java中使用extends (扩展)实现继承,说明子类是父类的扩展

新类(子类) extends 已知类(父类)

一个父类可以有多个子类,但是一个子类只能有一个直接父类a60f5d44d58035363e86127e5dab32cc.png

【例】

1、先准备父类f96ae3caaebea1c09da1ecad1eb9ebee.png

2.准备子类

Audi11eaf5d14332e93b8927646ecb3c0219.png

BMW0310666405e9d772699cc27fd70dd42d.png

测试代码:d2283c6857cb020045cc6f01e05adb8e.png

2、super关键字

1、当子类中重写父类中同名的属性

那么在子类中父类的同名的属性被隐藏了

如果在子类中想继续使用父类隐藏的属性 那么要使用super关键字调用父类属性

2、子类对父类同名方法的重新定义叫做方法的重写

子类重写父类方法之后 父类的方法就默认隐藏了

如果子类想继续使用父类中被隐藏的同名方法 那么要使用super关键字调用8c847a012dcaacbbd2003f53f6f4ab08.png

三、多态一种事物可以有多种表现形态

父类作为方法参数 所有的子类对象都可以作为实参

父类作为方法的返回值 所有的子类对象都可以返回

子类父类相互转换:子类对象可以声明成父类对象

子类拥父类的属性和方法

父类不能声明成子类对象

父类对象可以通过强制转换声明成子类对象 可以通过编译 但是运行的时候会出现 ClassCastException

当父类对象原本就是由子类对象声明而成的 那么强制转换回子类 就不会报错

子类声明成父类对象时 调用方法会执行子类的方法

编译时 认为是父类 只能调用到父类中声明的方法

执行时 认为是子类 占用子类内存 执行子类方法75e9d7e3ed1f304b0e51bf7b28569ad7.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值