类与对象
*1.生活中的类与对象*
**对象**:一个具体的实体,一个具体的事物。
例如 一个学生叫李华 ,一门课程英语。
描述:
李华
特征:身高 体重
功能:学习
英语
特征:时长
功能:\
**类**:具有相同特征(属性)和功能(方法)的对象(实体或事物)。
*2.类的定义*
**类的创建** 关键词“**class**”
格式:限定修饰符(public,private) class 类名
{
//**属性的定义**
限定修饰符 属性的数据类型 属性名;
}
**方法的定义**
格式:限定修饰符 方法返回值类型(void)方法名(参数类型 参数名)
{
方法体,方法需要执行的内容}
*3.对象的定义(主方法)*
public static void main (String[] args)
{**对象的创建** 关键词“**new**”
类名 对象名=new 类名();
**调用方法**
对象名.方法名.参数值
}
举一个例子
李华进行英语课程的学习,共有二十个课时,当二十个课时全部学完时,学分加3。
**分析对象**
1.李华 英语课程
**分析对象的属性和方法**
1 李华
**属性**:名字 学分
**方法**:学习课程:
1.课时减少1。
2.判断课时是否为0。
3.学分增加。
2 课程
**属性**:英语课程 学分 课时
**方法**:\
**创建类**
先定义类的属性,在定义类的方法。
**创建对象**
给对象赋值,然后调用方法。
package object;
public class Student {
//学分、名字
public int credit;
public String name;
/*方法:学习课程
参数: 课程对象
方法体: 1、课程的课时减少1
2、判断课时是否为0
3、增加学分
*/
public void study(Course c) {
//课程的课时减少1
c.hours--;
//输出 谁在学习什么课程,还剩多少个课时完成学习
System.out.println(name+"在学习"+c.name+"课程,还剩"+c.hours+"个课时完成学习!");
//判断是否完成学习
if(c.hours == 0) {
//自己的学分增加课程的学分
credit += c.credit;
//输出 谁完成了什么课程的学习,获得多少个学分,现在的学分是多少
System.out.println(name+"完成了"+c.name+"课程的学习,获得"+c.credit+"个学分,现在的学分是"+credit+"。");
}
}
}
package object;
public class Course {
//课时、课程名、学分
public int hours;
public String name;
public int credit;
}
package object;
public class Mainer {
//主方法
public static void main(String[] args) {
//创建学生对象
Student jiayi = new Student();
//给学生的属性赋值
jiayi.name = "嘉仪";
jiayi.credit = 0;
//创建一个课程对象
Course writting = new Course();
writting.name = "写作";
writting.hours = 48;
writting.credit = 3;
//课程的课时大于0,重复学习
while(writting.hours > 0 ) {
//学生学习课程
jiayi.study(writting);
}
}
}
做一个练习
1、 妲己 和 鲁班
妲己 和 鲁班互相攻击,采用回合制,每次攻击,被攻击方的血量减少攻击方的攻击值,重复,直到某一方的血量小于等于0结束。
输出:战斗的过程、结果
package game;
public class character2 {
public int blood;
public String name;
public int ap;
public void contact(character one){
one.blood-= ap;
System.out.println(one.name+"受到鲁班的攻击"+"血量减少到"+one.blood);
}
}
package game;
public class character {
public int blood;
public String name;
public int ap;
public void contact(character2 two){
two.blood-=ap;
System.out.println(two.name+"受到妲己的攻击"+"血量减少到"+two.blood);
}
}
package game;
public class main {
public static void main(String[]args){
character daji=new character ();
daji.name="妲己";
daji.blood=1000;
daji.ap=10;
character2 luban=new character2();
luban.name="鲁班";
luban.blood=1000;
luban.ap=20;
while(daji.blood>0&&luban.blood>0){
luban.contact(daji);
if(daji.blood>0&&luban.blood>0)
{daji.contact(luban);}
}
}
}