封装和可扩展性

比如你有一个写好的代码,是否适应于将来的需要(将来只有一种需要就是维护)

增加可扩展性

可以使用封装来降低藕和(类和类直间的关系就是藕和)

藕和呢越低越好

封装是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节

封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性

作用:

彻底消除了传统结构方法中数据与操作分离所带来的种种问题提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担

对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的

public class Show{

public static void show(String str){

System.out.println(str);
}
}

//上面就是对 System.out.println();的封装。

//调用的时候 

public class Use{

public static void main(String[] args){

	Show.show("封装");
}
}
//这样用的时候就不用使
System.out.println("封装");

1.

public class Person {
    String name;
    int age;
    public void speak(){
        System.out.println("我叫:"+name+"今年"+age+"岁");
    }
}
public class PersonT {
    public static void main(String[] args) {
        Person person = new Person();
        person.name="张三";
        person.age=-18;
        person.speak();
    }
}

上面的年龄为-18也是会打印出来的在现实生活中明显是不合理的 

 

 

为了避免出现上述不合理的问题,在设计一个Java类时,应该对成员变量的访问作出一些限定,不允许外界随意访问,这就需要实现类的封装

在定义一个类时,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取属性值的getXxx()方法和设置属性值的setXxx()方法

外部通过get方法调用该属性,所以需要返回值,set方法是外部对该属性赋值,就不需要返回值

 

public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int a) {
        if (a<0||a>200){
            System.out.println("你输入的不合法");
        }else {
            age=a;
        }
    }

}

public class PersonT {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("张三");
        person.setAge(-18);
        //获取
        String name = person.getName();
        int age = person.getAge();
        System.out.println("我叫:"+name+"今年"+age+"岁");
    }
}

可扩展性

可以使用接口来实现聚合

可扩展性高就是当添加新内容时,其他内容不需要随之改变

给一个类实现一个新方法,把方向的细节都彻底的影藏在那个类内部了

以后方向如何实现就和外部无关了

那个类的方向

新的功能可以很容易的加入到系统中去,这就是可扩展性,突然有一天客户的需求变了,需要增加新的功能,我这项目要增加新的功能,但是我这项目的主结构不变,这叫做可扩展性好

 

 

 

posted @ 2022-06-12 19:22  魔光领域  阅读(33)  评论(0编辑  收藏  举报