第十二天 类与对象的创建 封装
1.类与对象的创建:
(1)面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
(2)类是抽象的 实例化的。
(3)类实例化后会返回自己的一个对象。
/类和对象的创建
//面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据
public class People {
//类: 抽象的 实例化
//类实例化后会返回自己的一个对象
//people对象就是一个People类的具体实例
int age;
String name;
//方法
public void People(){
System.out.println("这个角色的名字是 "+this.name+" 这个角色的岁数是 "+this.age);
}
}
/*
测试类:
public class Test {
public static void main(String[] args) {
People sllh = new People();
People xg = new People();
sllh.name = "神里绫华";
sllh.age = 14;
xg.name = "宵宫";
xg.age = 18;
sllh.People();
xg.People();
}
}
*/
(4)例如以上代码 对象people就是一个People类的具体实例
2.类的封装
(1)程序的设计要追求:高内聚低耦合的原则 高内聚就是类的内部数据操作由自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
(2)封装:通常,应禁止直接访问对象中数据的实际表示,而应通过操作接口来进行访问,这样的方法称为信息隐藏。
(3)定义属性私有使用 get/set
package fangFa;
public class Fz {
//封装:高内聚低耦合
//定义私有属性
private String name;
private int age;
//使用get和set接口来获取和修改私有属性 可以保护数据
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
//使用get/set时 定义方法可以防止错误输入保护代码
if(age>120 || age<0){
this.age=3;
}else
this.age = age;
}
}
/*
测试类:
public class Test {
public static void main(String[] args) {
Fz fz = new Fz();
fz.setName("神里绫华");
fz.setAge(15);
System.out.println(fz.getName());
System.out.println(fz.getAge());
}
}
*/
(4)从以上代码看出封装就是使用private修饰符对数据进行私有化,然后使用get/set接口来对私有的数据进行访问;通过对get/set接口方法的一些改写可以起到减少用户错误输入等,以达到保护数据的目的。