zoukankan      html  css  js  c++  java
  • Java面向对象——封装性

    我们程序设计追求”高内聚,低耦合“:

    • 高内聚:类的内部数据操作细节自己完成,不允许外部干涉
    • 低耦合:仅对外部暴露少量的方法用于使用

    隐藏对象内部的复杂性,只对外部公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来,这就是封装性的设计思想。

    1.问题的引入

    当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。这里,赋值操作要受属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。

    2.封装性的体现

    • 我们将类的属性私有化(private),同时,提供公共的(public)方法来获取(getxxx)和设置(setxxx)的值。
    • 不对外暴露私有的方法
    • 单例模式
    • 。。。

    示例:

    package com.xlx.java;
    
    public class HelloWorld {
        public static void main(String[] args) {
            Animal a1=new Animal();
            a1.setAge(100);
            a1.getAge();
        }
    }
    
    class Animal{
        private int age;
        
        public int getAge() {
            return age;
        }
        
        public void setAge(int a) {
            age=a;
        }
    }
  • 相关阅读:
    loaded some nib but the view outlet was not set
    指标评比
    IOS DEVELOP FOR DUMMIES
    软件测试题二
    javascript select
    DOM节点类型详解
    mysql操作
    UVA 10055
    solutions for 'No Suitable Driver Found For Jdbc'
    解决git中文乱码问题
  • 原文地址:https://www.cnblogs.com/codexlx/p/13530032.html
Copyright © 2011-2022 走看看