java小白的学习记录.....
1.抽象
我的理解就是,对于一个对象,只关注需要的一些属性或特征,其他全部忽略。
2.从现实世界抽象出类
step1-找出名词确定类、属性
step2-找出动词确定方法
step3-剔除与业务无关的属性和方法
3. 实现封装的步骤
step1-修改属性的可见性
step2-创建公有的getter/setter方法
step3-在getter/setter方法中加入属性控制语句
4. 封装示例
1) dog.java代码:
public class Dog {
//step1 私有的属性 attribute
private String name="no";
private int health=0;
private int love=0;
private String strain="no";
//step2 set get方法--右键--source--Generate getters and setters--自动生成
//get 获得值 只读方法
public String getName() {
return name;
}
//set 赋值 可写方法
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
if(health<0 || health>100){ //step3 对属性值 加入了逻辑判断语句
this.health=40;
System.out.println("The health value is invalid");
}
else{
this.health = health;
}
}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
/**
* print info
*/
public void print(){
System.out.println("Dog name"+this.name+"\nhealth"+health+
"\nlove"+love+"\nstrain"+strain);
}
}
2) 创建Dog类的实例,Test1.java代码
public class Test1 {
public static void main(String[] args){
//----Dog.java
Dog dog=new Dog();
dog.setName("DouZi");
System.out.println(dog.getName());
dog.setHealth(200);
System.out.println(dog.getHealth());
}
}