Java面向对象重温【封装性】

面向对象特性之封装

概念

Java语言中的封装性:

1.狭义上的封装性:

在设计一个实体类的时候,将该实体类的属性的访问权限设定为私有的(private),并为其提供getter/setter方法器,让该类外部可以通过访问器方法对该私有的属性提供访问

2.广义上的封装性:

类和方法定义本身,就是封装性的体现


private的使用


get/set方法的说明(讲this之前,参数与成员变量名称要不同)

/**
 * 猫实体类
 *
 * 演示java中的封装性
 */
public class Cat {
    String name;//名称
    private int age; //年龄-->使用private修饰的属性,其可见性范围仅限于本类

    /**
     * setter(设置值的访问器方法),作用:用来在该类外部修改本类私有的属性值
     * @param a
     */
    public void setAge(int a){
        //在此处,可以植入拦截逻辑(拦截非法参数值)
        if (a>=0){
            age=a;
        }else {
            System.out.println("给定的猫龄错误");
            return;
        }
    }
    /**
     * getter(获取值的访问器方法),作用:用来在该类外部获取本类私有的属性
     */
    public int getAge(){
        return age;
    }

    /**
     * 秀一下
     */
    public void show(){
        System.out.println("名字:"+name);
        System.out.println("年龄:"+age);
    }

}

/**
 * 主人类(测试类)
 * java语言中的封装性测试类
 */
public class TestCat {
    String name;//名字
    /**
     * 介绍猫
     * @param cat
     */
    public  void  introduceCat(Cat cat){
        System.out.println("主人"+this.name+"兴致勃勃的介绍了自家的猫咪");
        cat.show();
    }

    public static void main(String[] args) {
        //场景:主人在家里举行聚会,兴致勃勃地给客人介绍起自家养的宠物猫。

        //思路:
        //1.猫主人实例的构建
        TestCat master = new TestCat();
        master.name="陈南润";
        //2.猫实例的构建
        Cat cat = new Cat();
        cat.name = "花花";
        cat.setAge(-3);
        //3.介绍猫
        master.introduceCat(cat);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值