[java][15]抽象和封装

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());
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值