对于封装继承多态的基础理解

体现面向对象的三个特征:封装继承和多态

封装

  • 提高了代码的复用性
  • 提高安全性
  • 隐藏实现的细节
  • 给外部提供一个可以访问的方式(get/set方法也就是赋值和取值的过程) 便于调用者的使用

封装就像机箱一样把电脑需要的东西都装进去,然后提供USB等接口供外部使用,你不需要知道里边有什么东西,隐藏主板CPU内存硬盘等设备的细节,只需要知道有这功能就行,使用就可以了

总结:类中不需要对外部提供的内容都私有化,包括属性和方法

继承

为了提高复用性,建立一份代码,只需要一个类和另一个类产生关系

继承给多态提供了前提

举例:学生和工人

 属性:名字,年龄(共性)
 方法:学习(学生),工作(工人)

此时可以创建一个类*“”作为父类,让学生和工人继承共同的属性就可以了,学生和工人就变成子类,继承了父类共同的属性

何时定义继承?
必须保证累与类之间有所属关系
例如苹果-水果
狗-犬科

在Java中继承的体现

java允许单继承,不允许多继承,将多继承进行其他方式的体现(接口的实现)
不仅拥有了亲爹的属性和方法,还可以扩展让干爹帮助实现其他功能

java支持多重继承
class A{}
class B extends A{}
class C extends B{}
C就拥有了A和B的属性和方法

学习继承体系时,应该参阅顶层的类的内容,了解这个体系的基本功能。
使用这个体系功能,需要创建最子类的对象。
看顶层,建底层。

画家谱图方便理解继承和使用。

如何在子类中直接访问和父类同名的变量呢?
通过关键字super来完成

this代表本类对象的引用
super代表的是父类的内存空间

子类可以对父类中的方法进行重写

多态

父类的引用指向了自己子类的对象

Animal a=new Dog();
Animal aa=new Cat();

好处:提高了程序的拓展性
不管以后再添加什么动物,都是Animal的类型

**弊端:**通过父类引用操作子类对象时,只能使用父类中已有的方法,不能操作子类特有的方法

前提:必须有关系(继承或者实现)
通常都有重写操作

多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。从程序设计的角度而言,多态可以这样来实现(以java语言为例):
public interface Parent//父类接口
{
public void simpleCall();
}
public class Child_A implements Parent
{
public void simpleCall();
{
//具体的实现细节;
}
}

public class Child_B implements Parent
{
public void simpleCall();
{
//具体的实现细节;
}
}

没有发表太多有关于实际操作的内容,只是对概念性的知识进行了梳理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值