首页 > 代码库 > 第14章 封装

第14章 封装

第14章 封装

在程序设计中,封装就是将某些方法和属性封闭到某个类中,使得其他的类无法访问它们。
在一个类中通过private关键字定义的方法,只能通过该类的public关键字定义的类进行访问后,将结果返回。

public class packages{
  public static void main(String[] args){
    flower f1 = new flower();
    f1.setname("牡丹");
    f1.setcolor("红色");
    f1.setlocation("云南");
    System.out.println(f1.tostring());
  }
}

class flower{
  private String name;
  private String color;
  private String location;

  public void setname(String name){
    this.name = name;
  }
  public void setcolor(String color){
    this.color = color;
  }
  public void setlocation(String location){
    this.location = location;
  }
  public String getname(){
    return name;
  }
  public String getcolor(){
    return color;
  }
  public String getlocation(){
    return location;
  }

  private void print(){
    System.out.println("这个就是" + name);
  }
  public String tostring(){
    String info = "花的名称:" + name + ";" + " " + "花的颜色:" + color + ";" + " " + "花的出产地:" + location + " ";
    print();
    return info;
  }
}

在实际的开发工作中,一个应用程序基本上由很多个不同的程序员设计出来的,彼此之间通过接口程序,将它们衔接起来成为一个完整的应用程序,这种情况下,程序员本身不希望其他的程序员知道自己是如何实现一个方法函数或一个属性变量的。通常程序员会将方法设置为一个类中的私有方法。

getter与setter 的区别,用代码讲解一下:

public class Student {
  String name;
  public String getName(){
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }

  public static void main(String[] args) {
    Student s1=new Student();
    s1.setName("小明");
    System.out.println("学生的姓名为:"+s1.getName());
  }
}
上面的意思是创建一个学生类,声明一个name变量,并给了它getter和setter方法。
先说setter方法,刚开始创建name变量时没有赋值,后面用这个方法给他赋值“小明”
再说getter方法,name变量有了值“小明”后就可以用这个方法把它调出来。

第14章 封装