栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象查缺补漏(三大特征)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象查缺补漏(三大特征)

Java面向对象(查缺补漏②) 面向对象的三大特征:封装性,继承性,多态性 一、封装与隐藏 封装性的体现

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

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

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

面向对象的特征一:封装性
 一、问题引入:
 		当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。这里赋值操作要受到
       属性的数据类型和存储条件范围的制约。除此之外,没有其它制约条件。但是,在实际问题中,我们往往需要给属性赋值
       加入额外的限制条件。这个条件就不能在属性声明时体现出来,我们只能通过方法进行限制条件的添加(比如:setWife方法)
       同时,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值。则需要将属性声明为私有的(private)
       -->此时针对属性就体现了封装性
 二、封装性的体现
   我们将类的属性xxx私有化(private),同时提供公共(public)的方法,获取(getXxx)和设置(setXxx)此属性的值
   拓展:封装性的体现:①如上 ② 不对外暴露私有的方法 ③ 单例模式 .....
public class AnimalTest {
    public static void main(String[] args) {
        Animal animal = new Animal();
        animal.name = "大黄";
        animal.age = 1;
        //animal.legs = 4; //'legs' has private access in 'com.nait.java.Animal'
        //animal.wife//“wife”在“com.nait.java.Animal”中有私有访问权限

        animal.show();
    }
}
class Animal{
    String name;
    int age;
    private int legs;//腿的个数

    //对属性的设置
    public void setLegs(int l){
        if (l <= 0 && l % 2 == 0){
            legs = 1;
        }else{
            legs = 0;//实际做法是抛出异常
        }
    }

    //对属性的获取
    public int getLegs() {
        return legs;
    }

    public void eat(){
        System.out.println("动物进食");
    }

    public void show(){
        System.out.println("name = " + name + ",age = " + age + ",legs = " +legs);
    }
}
四种权限修饰符的理解

封装的体现,需要权限修饰符的配合

Java规定的四种权限:(从小到大排列):private、缺省(default)、protected、public四种权限可以用来修饰类,及类的内部结构:属性、方法、构造器、内部类修饰类的话,只能用public和缺省的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号