java封装、继承和多态

封装

是什么
      封装是指将属性数据和对属性数据的操作组合起来,形成一个不可分割的整体。其他类对属性数据的操作只能通过被授权的方法,而不能直接操作属性数据。用户无需知道具体的实现细节,只要通过接口访问即可。
为什么
      封装是为了隐藏内部的实现细节,提高程序的安全性。通过封装,其他类无法直接访问本类的属性数据,这样就不会被任意的修改。用户可以访问授权的取值和赋值方法,但无法知道其内部具体的实现细节。我们可以在方法的内部加上一些自己实现的方法,如加上数据的范围限定,数据的条件判断等,这些操作都是很安全的,不会被外部知道。另外,当我们修改属性类型时,可以简单的改变一下get和set方法就可以,不需要像没封装的那样到处去修改对象的属性,提高了程序的可维护性。
怎么做
      通常我们设置属性为private类型,然后设置它的getter和setter方法。我们可以在setter或getter方法中加上一些内部操作。

private String name;
public void setName(String name)
{
    if(name.length()>5)
    {
        system.out.println("名字太长了");
    }
    else
    {
        this.name=name;
    }
}
public String getName()
{
    return name;
}
继承

      在现实世界中,动物包括鸟类、哺乳类等,哺乳类又包括猫科动物、犬科动物等,犬科动物又包括。。。鸟类和哺乳类具有动物的基本特征,猫科动物和犬科动物具有哺乳类动物的基本特征。既然有这种规律,我们就可以提取事务的共有的基本特征或者模型形成父类,其他的事务像孩子一样继承这些特征,而且还可以有自己的个性特征。

  • 子类使用extends来继承父类,使用implements来实现接口
  • Java中通过父类和子类来实现这种继承关系,子类继承了某个父类,就继承了父类的所有的成员方法和成员变量,但子类不继承父类的构造器,并且不能选择性的继承父类的某些成员。
  • Java采用单继承方式,即子类只能继承一个父类,多继承可以通过接口来实现。
  • 子类可以修改从父类继承来的行为,称为重写。
  • super关键字经常被用于一个类去引用他的父类。
class A{        
}
class B extends A{
}
多态

      多态是指对同一种消息,不同的类的对象有不同的反应。而且对于这个消息在编译阶段并不确定由哪个类的实例来表现,只有在程序运行期间,才确定具体的类,这样的话就可以不修改代码,就可以让实现根据运行时的需要绑定到各个具体的类的实现方法上,可以根据需要增加不同的类实现,便于程序的扩展。
实现的条件:

  1. 要有子父类之间的继承
  2. 子类要重写父类的方法
  3. 要向上转型,将子类的引用赋值给父类,这样父类调用与子类相同的重写的方法时,就会调用子类重写后的方法。
    通过以上的方法,就可以使用父类的引用动态的绑定子类的实现,实现多态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值