面向对象编程:模拟现实生活。
所有的概念,都是源自于生活中。
以上这两句话,我其实并不能真正理解其中的含义。我不知道怎样把生活中很具体的东西转化成一行一行的代码,现在我可以做到的,只是死记硬背一些现成的代码定义与使用的格式。
......................................................................对象:只要是生活中具体的某一个物体或者具体的某一个事物就是一个对象。
你眼睛里看到的任何一个物体就是一个对象。
...类的组成:
程序中类,是按照固定的格式,对对象的特征和行为进行的定义,定义成一个相应的模板。
程序中类由2个部分组成:1.属性(对象的特征) 2.方法(对象的行为)
......................................................................类的基本格式
public class 类名 {
//定义属性的格式
private 数据类型 属性名;
//方法的格式
public 返回值数据类型 方法名(数据类型 形参名,...){
}
}
.注意:一个文件中只能定义一个类。
每个属性都对应一个set方法和一个get方法
......................................................................实例化对象和调用方法的格式
实例化对象的关键字是:new
格式:
类名 对象名 = new 类名();
Student stu = new Student();
调用方法的格式
对象名.方法名(实参或者参数值,...);
stu.setName("张三");
int s = stu.getScore();
s-=1;
stu.setScore(s);
stu.study();
stu.play();
.注意:一个manager文件中可以实例化多个对象。
......................................................................
练习:回合游戏
自己写的代码:
MANAGER:
package pk;
public class Manager {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化一个police类对象
police pol=new police();
//设置对象的姓名
pol.setName("张三");
//设置对象的血量
pol.setBlood(15);
//实例化一个thief类对象
thief th=new thief();
//设置对象的姓名
th.setName("李四");
//设置对象的血量
th.setBlood(15);
//两者攻击
pol.attack(th);
while(th.getBlood()>0)
{
th.attack(pol);
pol.attack(th);
if(pol.getBlood()<=0)
{
System.out.println("小偷赢了!");
break;
}
}
if(pol.getBlood()>0)
System.out.println("警察赢了!");
}
POLICE:
package pk;
public class police {
//定义一个姓名属性
private String name;
//定义一个设置姓名属性值的方法
public void setName(String n)
{
name=n;
}
//定义一个获取姓名值的方法
public String getname()
{
return name;
}
//定义一个血量属性
private int blood;
//定义一个设置血量属性的方法
public void setBlood(int a)
{
blood=a;
}
//定义一个获取血量的方法
public int getBlood()
{
return blood;
}
//定义一个掉血的方法
public void attack(thief t)
{
blood-=2;
System.out.println(name+"在和小偷pk,掉了2滴血");
}
}
THIEF:
package pk;
public class thief {
//定义一个姓名属性
private String name;
//定义血量属性
private int blo;
//定义一个设置姓名属性的方法
public void setName(String m)
{
name=m;
}
//定义一个获取姓名的方法
public String getname()
{
return name;
}
//定义一个设置血量的方法
public void setBlood(int a)
{
blo=a;
}
//设置获取血量的方法
public int getBlood()
{
return blo;
}
//定义掉血的方法
public void attack(police p)
{
blo--;
System.out.println(name+"在和警察pk,掉了1滴血");
}
}
......................................................................
新学到的知识:
返回值是方法的值,有参数是为了调用方法时对其进行操作。
所有的概念,都是源自于生活中。
以上这两句话,我其实并不能真正理解其中的含义。我不知道怎样把生活中很具体的东西转化成一行一行的代码,现在我可以做到的,只是死记硬背一些现成的代码定义与使用的格式。
......................................................................对象:只要是生活中具体的某一个物体或者具体的某一个事物就是一个对象。
你眼睛里看到的任何一个物体就是一个对象。
...类的组成:
程序中类,是按照固定的格式,对对象的特征和行为进行的定义,定义成一个相应的模板。
程序中类由2个部分组成:1.属性(对象的特征) 2.方法(对象的行为)
......................................................................类的基本格式
public class 类名 {
//定义属性的格式
private 数据类型 属性名;
//方法的格式
public 返回值数据类型 方法名(数据类型 形参名,...){
}
}
.注意:一个文件中只能定义一个类。
每个属性都对应一个set方法和一个get方法
......................................................................实例化对象和调用方法的格式
实例化对象的关键字是:new
格式:
类名 对象名 = new 类名();
Student stu = new Student();
调用方法的格式
对象名.方法名(实参或者参数值,...);
stu.setName("张三");
int s = stu.getScore();
s-=1;
stu.setScore(s);
stu.study();
stu.play();
.注意:一个manager文件中可以实例化多个对象。
......................................................................
练习:回合游戏
自己写的代码:
MANAGER:
package pk;
public class Manager {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化一个police类对象
police pol=new police();
//设置对象的姓名
pol.setName("张三");
//设置对象的血量
pol.setBlood(15);
//实例化一个thief类对象
thief th=new thief();
//设置对象的姓名
th.setName("李四");
//设置对象的血量
th.setBlood(15);
//两者攻击
pol.attack(th);
while(th.getBlood()>0)
{
th.attack(pol);
pol.attack(th);
if(pol.getBlood()<=0)
{
System.out.println("小偷赢了!");
break;
}
}
if(pol.getBlood()>0)
System.out.println("警察赢了!");
}
POLICE:
package pk;
public class police {
//定义一个姓名属性
private String name;
//定义一个设置姓名属性值的方法
public void setName(String n)
{
name=n;
}
//定义一个获取姓名值的方法
public String getname()
{
return name;
}
//定义一个血量属性
private int blood;
//定义一个设置血量属性的方法
public void setBlood(int a)
{
blood=a;
}
//定义一个获取血量的方法
public int getBlood()
{
return blood;
}
//定义一个掉血的方法
public void attack(thief t)
{
blood-=2;
System.out.println(name+"在和小偷pk,掉了2滴血");
}
}
THIEF:
package pk;
public class thief {
//定义一个姓名属性
private String name;
//定义血量属性
private int blo;
//定义一个设置姓名属性的方法
public void setName(String m)
{
name=m;
}
//定义一个获取姓名的方法
public String getname()
{
return name;
}
//定义一个设置血量的方法
public void setBlood(int a)
{
blo=a;
}
//设置获取血量的方法
public int getBlood()
{
return blo;
}
//定义掉血的方法
public void attack(police p)
{
blo--;
System.out.println(name+"在和警察pk,掉了1滴血");
}
}
......................................................................
新学到的知识:
返回值是方法的值,有参数是为了调用方法时对其进行操作。