通俗理解java中的类与对象
我们知道编程语言主要分为两大类:面向过程和面向对象 面向过程如比较熟悉的c语言,面向对象有java,python,c++等。 对于只接触过面向过程的如何理解类与对象这一概念呢? 一:类与对象中的概念 拿生活中的事物来举例,比如说小明的水杯,小明的笔记本电脑等这类具体化的事物都称为对象。 而每一个对象他所具有很多属性,属性主要分为两方面 1:特点 2:功能 如小明的水杯 特点:黑色,玻璃材质,圆柱形等 功能:保温,充当容器盛放水。 像这样具有特定特征和功能的就叫做对象。 而类则是把具有相同特点(属性)和功能/行为(方法)的对象,归为一个类别。 比如水杯,电脑。所有水杯和电脑的主体特征和功能大致相同,所以叫做类,而每一个人所拥有的不同的水杯不同的电脑,其某些特征会不尽相同,这就是每一个对象。 二:java中类与对象的创建 类的创建:关键字 class 格式: public class 类名{
} 类的属性(即可理解为特点): 格式: public 属性类型 属性名; 类的方法(可以理解为类的功能) 格式:public 方法返回值类型 方法名(参数){
} 对象的创建:关键字new 格式:类名 对象名=new 类名(); 对象属性的赋予: 格式:对象名.属性名 对象方法的实现: 格式:对象名.方法名(参数值); 三:编程实例 想必很多人玩过LOL,我们假设这样一个情景,亚索和卡牌在中路对线,两人依次攻击对方,知道某一方血量减为0停止。 从这个情景中可以看出我们需要两个对象,由于需要相互攻击,则需相互传输对方的数据,所以我们需要创建两个类,分别代表亚索和卡牌。 //亚索
public class hero {
public int blood;
public String name;
public int strength;
//攻击
public void fight(hero2 kapai){
kapai.blood=kapai.blood-strength;
System.out.println(kapai.name+"受到了"+strength+"伤害,"+kapai.name+"剩余血量为"+kapai.blood);
}
}
``
//卡牌
```java
public class hero2 {
public int blood;
public String name;
public int strength;
//攻击
public void fight(hero yasuo){
yasuo.blood=yasuo.blood-strength;
System.out.println(yasuo.name+"受到了"+strength+"伤害");
}
}```
```java
public class main {
public static void main (String[] args){
//创建对象
hero yasuo =new hero();
hero2 kapai =new hero2();
//给对象赋予属性
yasuo.name="亚索";
yasuo.blood=60;
yasuo.strength=8;
kapai.name="卡牌";
kapai.blood=50;
kapai.strength=6;
//运用循环进入战斗
while(true){
yasuo.fight(kapai);
if(kapai.blood<=0)
{
//血量低于零战斗结束
System.out.println("战斗结束"+kapai.name+"死亡");
break;
}
kapai.fight(yasuo);
if(yasuo.blood<=0)
{
//血量低于零战斗结束
System.out.println("战斗结束"+yasuo.name+"死亡");
break;
}
}
}
}```
