java基础的 多态,封装,继承 特征是什么,java类的封装性继承性多态性概念

  java基础的 多态,封装,继承 特征是什么,java类的封装性继承性多态性概念

  我们知道面向对象的三个特征是封装性、继承性和多态性。然而,有时我们总是对这些概念感到困惑。整理出以下概念,

  为以后的面向抽象编程打下坚实的基础。

  封装的概念还是比较好理解的。如果你能定义类,那么我相信你已经完全掌握了封装的概念。下面的类被定义来封装数据。

  继承的好处是代码复用。继承的子类自动拥有父类中的所有属性和方法。因此,继承现有的类是重用这些类的方法和领域。

  在此基础上,子类还可以增加一些新的方法和域来满足新的需求。这是Java编程中的一个核心技术。

  那么如何判断是否需要继承呢?“是-a”关系是继承的一个明显特征。这句话的意思可以解释为:学生之所以继承人,

  因为学生是人。没有这层关系,就没有这个传承的必要。这也是李希特替代原理的定义。子类型必须能够替换它们的父类型。

  当通过扩展超类来定义子类时,只需要指出子类和超类的区别。因此,在设计类时,应将通用方法放入超类中,

  但是在面向对象编程中,把有特殊用途的方法放到子类中是很常见的,这就把一般的函数放到了超类中。

  动态绑定有一个非常重要的特性:程序可以在不修改现有代码的情况下进行扩展。因此,多态性是开闭原则的基础。

  下面是继承和多态实现的具体例子:

  abstract 是抽象的关键字。(最好从抽象类继承而不是从具体类继承)。

  公共抽象类Person {//抽象类

  私有字符串名称;//私有变量

  Publicgetname () {//getter方法

  返回名称;

  } public void set name(string name){//setter方法

  this.name=name

  }

  public Person(String name) {//构造函数用于初始化名称。

  super();this.name=name

  }公共抽象字符串get desc();//抽象类中的抽象方法。只有声明,没有具体实施。

  publicstringtoString(){//toString方法覆盖Object类的tostring方法。

  返回名称get desc();

  }

  } extends 是继承的关键字。Student继承Person,所以Student拥有name属性。

  公共学生扩展person {//继承类

  私弦专业;//新添加的数据

  公共字符串get major(){ return major;

  } public void set major(String major){ this . major=major;

  }

  public student (string name,string major){//构造函数用于初始化

  超级(名);//调用超类构造函数

  this.major=major

  }

  @ override public string get desc(){//必须实现超类中的抽象方法。//TODO自动生成的方法存根

  归 :一个学生,专业是专业;

  } 凡是继承超类的子类,必须实现(无论是哪种实现方式)超类中定义的抽象方法。

  公共类员工扩展人{

  私人双薪;

  public double getSalary() {

  返还工资;

  }public void setSalary(双薪){

  this.salary=薪水;

  }

  公职人员(字符串名,双薪){

  超级(名);

  this.salary=薪水;

  }

  @覆盖

  公共字符串getDesc() { //TODO自动生成的方法存根

   return :一个员工,工资是薪水;

  }

  }公共类测试{ public static void main(String[]args){//TODO自动生成的方法存根

  Person[]p=新人[2];

  p[0]=新生( Mark , IT );

  p[1]=新员工(“杰瑞”,2000);对于(人/人:p) {

  system . out . println(person . getname()person . get desc());

  }

  }

  }运行结果

  如何解决写爬虫IP受阻的问题?立即使用。

  从这个例子也可以看出,没有封装就没有继承,没有继承就不可能有所谓的多态性。

  理解封装、继承和多态(尤其是多态)是理解设计模式的基础。

  了解更多java教程,请访问:Java教程以上是java的三大特性:封装、继承和多态的详细介绍。更多信息请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: