Java--面向对象--封装

Java-面向对象-封装

  • 封装的好处就是提高代码的安全性
  • 程序的设计追求是“高内聚”与“低耦合“
    • 高内聚:类的内部数据操作细节自己完成,不允许外部干涉
    • 低耦合:仅对外暴露少量的方法用于使用
  • 隐藏对象内部的复杂性,只对外公开简单的接口便于调用,提高系统的可扩展性、可维护性
  • 通俗的说,就是把改隐藏的隐藏起来,该暴露的暴露出来,这就是封装的设计思想
  • 封装的修饰符:privateprotectedpublicdefault
package com.shanlei02;

/**
 * @Auther: shanlei
 * @Date: 2020/12/4 - 12 - 04 - 18:19
 * @Description: com.shanlei02
 * @version: 1.0
 */
public class Student {
    // 私有化属性
    private String name;
    private int age;
    private String gender;

    // alt+inset  使用快捷键创建getter和setter方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        if("男".equals(gender) || "女".equals(gender)){
            this.gender = gender;
        }else{
            this.gender = "男";
        }
    }

    // 构造器
    public Student(){

    }

    public Student(String name, int age, String gender){
        this.name = name;
        this.age = age;
        this.setGender(gender);
    }
}

package com.shanlei02;

/**
 * @Auther: shanlei
 * @Date: 2020/12/4 - 12 - 04 - 18:25
 * @Description: com.shanlei02
 * @version: 1.0
 */
public class Test {

    // 这是main方法,是实现程序主要逻辑
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("殃奕");
        s1.setAge(18);
        s1.setGender("女");

        System.out.println(s1.getName()+"-------"+s1.getGender()+"------"+s1.getAge());

        Student s2 = new Student("nana", 18, "女");
        System.out.println(s2.getName()+"-------"+s2.getGender()+"------"+s2.getAge());
    }
}

posted @ 2020-12-05 18:19  殃奕  阅读(28)  评论(0)    收藏  举报