面向对象第一个特征-封装(Encapsulation)

         面向对象第一个特征-封装(Encapsulation)

                             作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.封装概述(Encapsulation)

1>.什么是封装

  是指隐藏对象的熟悉和实现细节,仅对外提供访问方式。说白了就是将数据和操作组织到类中,即属性和方法。

2>.封装的好处

  将变化隔离

  便于使用

  提高重用性

  提高安全性

3>.封装原则

  将不需要对外提供的内容都隐藏起来。

  把数据都隐藏,提供公共方法对其访问。

 

二.private(私有)关键字

  private关键字:
    是一个权限修饰符,用于修饰成员变量(包括属性和成员函数),被私有化的成员只在本类中有效。

  常用场景:
    将成员变量私有化,对外提供对应的getter,setter方法对其进行访问。提高堆数据访问的安全性。

  私有是封装的一种体现形式。

 

三.代码封装案例

1>.定义Person类对age属性进行封装

/**
 * 
 * @author 尹正杰
 *
 */
public class Person {
    String name;
    
    //将age变量私有化,此时只有当前类可以范围该变量
    private short age;
    
    public void speak() {
        System.out.println("My name is " + name + ", 我今年" + age +  "岁啦!");
    }
    
    //定义setter方法
    public void setAge(short num) {
        if(num > 0 && num <= 150) {
            age = num;
        }else {
            System.out.println("Error: 您给定的年龄不合法,age字段赋值失败,正确范围为(0,150]");
        }
    }
    
    //定义getter方法
    public int getAge() {
        return age;
    }
}

2>.编写PersonDemo.java代码

/**
 * 
 * @author 尹正杰
 *
 */
public class PersonDemo {

    public static void main(String[] args) {
        Person p1 = new Person();
        short age = 18;
        
        p1.name = "尹正杰";
        
        p1.setAge(age);
        
        p1.speak();
    }
}

 

 

posted @ 2020-01-23 20:09  JasonYin2020  阅读(207)  评论(0编辑  收藏  举报