Java 面向对象的相关语法及其语义(继承、封装)

2019-03-08  本文已影响0人  灵魂治愈

封装

概念

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

优点

举例

public class Main {
    public static void main(String[] args) throws IOException {
        Person xm = new Person("xm", 20);
        System.out.println(xm.getName() + " 的年龄是 " + xm.getAge());
        System.out.println("请输入新的年龄");
        InputStreamReader input = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(input);
        int newAge = Integer.parseInt(br.readLine(), 10);
        xm.setAge(newAge);
        System.out.println(xm.getName() + " 新的年龄是 " + xm.getAge());
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

运行结果:


image.png

继承

概念

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

特性

举例

public class Main {
    public static void main(String[] args) {
        Child xm = new Child("xm", "xxxxx");
        xm.printName();
    }
}

class Parent {
    private String parentName;

    public Parent(String name) {
        this.parentName = name;
    }

    public String getParentName() {
        return this.parentName;
    }
}

class Child extends Parent {
    private String childName;

    public Child(String name, String parentName) {
        super(parentName);
        this.childName = name;
    }

    public String getChildName() {
        return this.childName;
    }

    public void printName() {
        System.out.println("My name is " + this.childName + ", my parent name is " + this.getParentName());
    }
}

运行结果:


image.png
上一篇 下一篇

猜你喜欢

热点阅读