• java三大特性性:封装、继承和多态


    一、封装

      封装是指隐藏对象的属性及实现细节,对外仅提供接口可见。封装实现了信息隐藏,利于软件复用。其优点是达到了模块化的标准,从而提高了代码的复用程度。在某种程度上,封装也大大改善了软件开发的可维护性,降低了构建复杂软件系统的风险。

    public class TV {
      private int volume;
      private int color;
      public int getVolume() {
        return volume;
      }
      public void setVolume(int volume) {
        this.volume = volume;
      }
      public int getColor() {
        return color;
      }
      public void setColor(int color) {
        this.color = color;
      }

      public void turnOn(){
        turnOn_impl();
      }

      //开机内部实现
      private void turnOn_impl(){
        //...
      }

    }

    上面代码定义了一个电视机类TV,包含两个属性:音量volume,颜色color,还定义了一些方法。从类的属性可以看到,音量volume、颜色color属性均定义成private私有类型,只能通过相关方法对其操作。类TV对其属性volume、color实现了封装。

    二、继承

      继承是指一个类是从另一个类派生而来的,派生类自动具有了被继承类的所有特性。被继承类称为父类,继承父类的类称为子类。继承可以是子类具有父类的各种属性和方法,而不需要再次编写相同的代码。继承也极大地促进了软件的复用,而且继承的形式可以更加复杂。

    public class GeneralTV extends TV{
      public static void main(String[] args) {
        GeneralTV tv = new GeneralTV();
        tv.setVolume(1);
        System.out.println(tv.getVolume());
      }
    }

    GeneralTV继承了TV,因此拥有TV的属性和方法。

    三、多态

      多态是指对于一种服务功能,可以具有不同的实现方式,即多种形态。多态形象地描述了现实世界的复杂形态,使程序具有良好的扩展性。在继承的基础上,方法重载是实现多态的方式之一。

    public class Human {
      public void sayHello(){

      }
    }

    class Chinese extends Human{
      public void sayHello(){
        System.out.println("您好");
      }
    }

    class American extends Human{
      public void sayHello(){
        System.out.println("hello");
      }
    }
    class testclass{
      public static void main(String[] args) {
        Chinese c = new Chinese();
        c.sayHello();
        American a = new American();
        a.sayHello();
      }
    }

    以上代码首先定义了父类Human,只具有一个方法,方法没有具体的实现。然后分别定义了两个子类Chinese和American,均继承类Human,并且都对sayHello方法实现了重写,具有各自不同的实现方式。

  • 相关阅读:
    [SCOI2003]严格N元树
    CF280 C. Game on Tree
    [HDU2281]Square Number
    [HDU5391]Zball in Tina Town
    [HDU3988]Harry Potter and the Hide Story
    [HDU5794]A Simple Chess
    [HDU5451]Best Solver
    [HDU1724]Ellipse
    [HDU6304]Chiaki Sequence Revisited
    [HDU6343]Graph Theory Homework
  • 原文地址:https://www.cnblogs.com/czl362326/p/5621776.html
Copyright © 2020-2023  润新知