面向对象系列教材 (一)- Java中的类和对象
很多想要学习JAVA的同学在第一次看到面向对象这个词汇时,都是一脸懵逼,甚至跟着视频学完了java基础,也还是感觉很抽象。但这的确是JAVA最核心的思想,理解这一点后,再学习以后反射、注解等中高级内容也会更的心应手。
本文适合人群:
未接触过JAVA,想了解JAVA的人群
刚开始接触JAVA,不理解什么是面向对象思想的初学者
本章节会引入面向对象的基本概念,并用大家耳熟能详的例子来进行解释
相信你肯定玩过DOTA或者LOL,没玩过,也一定听说过身边有很多的朋友在玩这款游戏的
假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做?
第一步就是要设计 英雄 这个东西,
LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女
所有这些英雄,都有一些共同的状态
比如,他们都有名字,hp,护甲,移动速度等等
这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物,在JAVA里的代号就叫Class
类(Class): 英雄(Hero)
状态: 名字, 血量,护甲,移动速度
JAVA代码:创建一个Class Hero
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
}
里面的 name,hp,armor,moveSpeed是英雄的基础属性
注: 本例用到了3种数据类型 分别是 String(字符串),float(浮点数), int(整数),本章只做简单的使用 ,就不展开了,关于变量知识的详细讲解,将在下个章节展开.
接下来就是第二步 : 创建一个具体的英雄
类就像一个模板,根据这样一个模板,可以创建一个个的具体的英雄
一个个具体的英雄,就叫一个个的对象
new Hero() 就是java中创建一个英雄对象的意思
geren.name=“盖伦”就是把这个英雄命名为盖伦
public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public static void main(String[] args) {
Hero garen = new Hero();
garen.name = "盖伦";
garen.hp = 616.28f;
garen.armor = 27.536f;
garen.moveSpeed = 350;
Hero teemo = new Hero();
teemo.name = "提莫";
teemo.hp = 383f;
teemo.armor = 14f;
teemo.moveSpeed = 330;
}
}
现在我们的英雄就已经建立好了,回想一下我们打LOL的时候,要做的是不是控制我们的英雄去进行攻击、释放技能、购买装备等操作。那这些操作就是我们要对这个对象执行的方法。
比如最基础的,英雄攻击别人,那这个方法就叫做attack,他攻击的人就叫name
public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
//攻击某个英雄
void attack(String name){
System.out.println("攻击!"+ name);
}
}
//这个英雄挂了
void die(){
System.out.println("这个英雄死了")
除了攻击、死亡,还有移动,吃药,放技能等等,这些都是英雄这个对象能做的事情,那JAVA编程最基础的思想,就是针对创建的这个对象,编写这个对象能做的方法。
不知道看完了以上步骤是否能让你对面向对象这个东东有了更进一步的了解。如果你想要自学JAVA,私人推荐一个很不错的自学网站,也是某位知乎大牛自己花了三年时间做出来的,手把手跟着里面的步骤把项目做完,找工作就是分分钟的事
手机用户建议回家用电脑打开访问