封装小Demo

9 篇文章 0 订阅
5 篇文章 0 订阅
package cn.kgc.tyl.test0923.entity;

import lombok.NoArgsConstructor;

/**
 *1.使用封装分别创建实体类Dog和1.使用封装分别创建实体类Dog和Penguin,其中:
 Dog类中
   包含属性(name,love,health,strain) 
   方法:print()显示狗狗的信息
   构造方法:无参构造函数和带参构造函数,其中:
 Dog类中
   包含属性(name,love,health,strain) 
   方法:print()显示狗狗的信息
   构造方法:无参构造函数和带参构造函数
 Penguin类中
    包含属性(name,love,health,sex)  sex定义为静态常量并且赋值为Q仔
    方法:print()显示企鹅的信息
   构造方法:无参构造函数和带参构造函数
 
 * */
@NoArgsConstructor

public class Dog {
	//包含属性(name,love,health,strain
	private String name,Strain;
	private int love,health;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getStrain() {
		return Strain;
	}
	public void setStrain(String strain) {
		Strain = strain;
	}
	public int getLove() {
		return love;
	}
	public void setLove(int love) {
		if (love>100||love<0) {
			this.love = 0;
		}else {
		this.love = love;
	}
		}
	public int getHealth() {
		return health;
	}
	public void setHealth(int health) {
		if (health>100||health<0) {
			this.health = 0;
		}else {
		this.health = health;
	}
	}
	public Dog(String name, String strain, int love, int health) {
		super();
		this.name = name;
		Strain = strain;
		setHealth(health);
		setLove(love);
	}
	@Override
	
	public String toString() {
		return "狗狗的名字=" +this.getName()+ ", 品种=" + this.getStrain()+ ", 和主人的亲密的=" + this.getLove() + ", 健康值是=" + this.getHealth() + "]";
	}
	public void print() {
		System.out.println("狗狗的名字=" +this.getName()+ ", 品种=" + this.getStrain() + ", 和主人的亲密的=" + this.getLove() + ", 健康值是=" + this.getHealth() + "."
		); 
	}	

}
***********************************************************************************
package cn.kgc.tyl.test0923.entity;

import lombok.NoArgsConstructor;

/**
 *1.使用封装分别创建实体类Dog和1.使用封装分别创建实体类Dog和Penguin,其中:
 Dog类中
   包含属性(name,love,health,strain) 
   方法:print()显示狗狗的信息
   构造方法:无参构造函数和带参构造函数,其中:
 Dog类中
   包含属性(name,love,health,strain) 
   方法:print()显示狗狗的信息
   构造方法:无参构造函数和带参构造函数
 Penguin类中
    包含属性(name,love,health,sex)  sex定义为静态常量并且赋值为Q仔
    方法:print()显示企鹅的信息
   构造方法:无参构造函数和带参构造函数

 * */ 
@NoArgsConstructor
public class Penguin {
	// 包含属性(name,love,health,sex
		private String name;
		private int love,health;
		public static final String SEX="Q仔";
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		
		public int getLove() {
			return love;
		}
		public void setLove(int love) {
			if (love>100||love<0) {
				this.love = 0;
			}else {
			this.love = love;
		}
			}
		public int getHealth() {
			return health;
		}
		public void setHealth(int health) {
			if (health>100||health<0) {
				this.health = 0;
			}else {
			this.health = health;
		}
		}
		
		public Penguin(String name, int love, int health) {
			super();
			this.name = name;
			setHealth(health);
			setLove(love);
		}
		@Override
		public String toString() {
			return "企鹅的名字=" +this.getName()+ ", 性别=" + this.SEX + ", 和主人的亲密的=" + this.getLove() + ", 健康值是=" + this.getHealth() + "]";
		}
		public void print() {
			System.out.println("企鹅的名字=" +this.getName()+ ", 性别=" + this.SEX + ", 和主人的亲密的=" + this.getLove() + ", 健康值是=" + this.getHealth() + "."
			); 
			}
}
*****************************************************************************************
package cn.kgc.tyl.test0923.entity;
/**
 *2.编写测试类Test
    使用无参构造方法创建Dog类的对象和Penguin对象,并且给Dog和Penguin对象的属性赋值,输出狗狗和企鹅的信息
    使用带参构造方法创建Dog类的对象和Penguin对象,并且给Dog和Penguin对象的属性赋值,输出狗狗和企鹅的信息
3.方法重载的概念:同一个类中,方法同名不同参
4.封装的概念:高内聚低耦合,隐藏属性,通过控制语句,防止非法传参
5.封装的优势:防止非法赋值,保护数据,减少暴漏不必要的信息
6.封装的步骤:1属性设为私有,2构建setget方法,并在必要条件给set方法添加控制语句,并在有参构造方法中进行set方法调用
7.类图的作用:通过写类的名称,属性名称和数据类型,方法名和返回值,方便自己看信息梳理思路,也方便工作交接;
 
 * */
public class Test {
  public static void main(String[] args) {
	
	
	//狗类
	Dog dog2=new Dog("小黑", "牧羊犬", -11, 0);
	dog2.print();
	Dog dog1=new Dog();
	dog1.setName("小白");
	dog1.setHealth(19);
	dog1.setStrain("藏獒");
	dog1.setLove(-11);
	dog1.print();
	//企鹅类
	Penguin p1=new Penguin();
	p1.setLove(100);
	p1.setName("小白");
	p1.setHealth(90);
	p1.print();
	Penguin p2=new Penguin("小花", -100, 105);
	p2.print();
	
}
}
********************************************************
运行结果:
狗狗的名字=小黑, 品种=牧羊犬, 和主人的亲密的=0, 健康值是=0.
狗狗的名字=小白, 品种=藏獒, 和主人的亲密的=0, 健康值是=19.
企鹅的名字=小白, 性别=Q仔, 和主人的亲密的=100, 健康值是=90.
企鹅的名字=小花, 性别=Q仔, 和主人的亲密的=0, 健康值是=0.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_45442261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值