zoukankan      html  css  js  c++  java
  • 封装

    小白一枚,若内容有侵权,请指出

    今天总结一下面对对象程序设计三大特性之一:封装

    封装

    封装其实就是一种思想,做个小小的例子,平常用的充电宝,我们可以通过统一的USB接口去使用它,但是其内部构造是怎么样子,却不了解。

    封装思想:

    1.把对象的状态和行为看成一个统一的整体 将二者存放在一个独立的模块中(类)
    2.信息隐藏 隐藏对象功能实现细节(尽可能隐藏)

    如果外界想拿到隐藏的信息的值,就只能看有没有提供相应的接口,即取值和赋值的方法。

    没有封装就没有继承,但是继承会破坏封装

    class User{
        private String name; //字段名  即属性私密化
        private int age;
        
        //取值和赋值方法
        public void setName(String name) {
            this.name = name;     //字段名 = 变量取值和赋值方法
        }
        public String getName() {
            return name;           //return字段名
        }
    }

    public static void main(String[] args) {
            //此时不能直接拿到name和age的值,也不能直接对其赋值,只能通过get,set方法
            User u1 = new User();
            
            u1.setName("张三");
            
            System.out.println(u1.getName());
    }

    讲到封装,就必须讲讲修饰符

    修饰符

    当在定义类时,使用public,可不写(默认一定为public)


    1.private (类访问权限):修饰字段,方法,构造器,只能在当前类的范围
    2.package (缺省/包访问权限):(即不写修饰符的时候)在同一个包中才可访问   
    3.protected (子类访问权限):其他类不能访问,但是父类和子类(不在同一个包中也可以)可以访问
    4.public (公共访问权限):在任何地方都可以访问

    所以,封装不仅仅体现在类上,包(package)也体现了封装

     

    坚持学习,永远年轻,永远热泪盈眶
  • 相关阅读:
    使用angularjs定义html中的属性ng-attr-(suffix)
    JS设置cookie、读取cookie、删除cookie
    正则判断
    console使用方法
    angularjs中ng-change使用方法
    angularjs中ng-selected使用方法
    angularjs工具方法
    angularjs中$watch监听model(对象属性、对象)变化
    JS获取select选中的值,所有option值
    AngularJs:String类型和JSON相互转换
  • 原文地址:https://www.cnblogs.com/jiang0123/p/11279802.html
Copyright © 2011-2022 走看看