how2j.cn


工具版本兼容问题
本章节会引入面向对象的基本概念 (但是不会深入展开,仅仅是引入. 深入的学习会在后续的类和对象以及接口与继承 中展开)

相信你肯定玩过DOTA或者LOL,没玩过,也一定听说过身边有很多的朋友在玩这款游戏的

假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做?

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



7分55秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 设计英雄这个类   
步骤 2 : 创建具体的英雄   
步骤 3 : 类的第一个字母大写   
步骤 4 : 练习-Item   
步骤 5 : 答案-Item   

步骤 1 :

设计英雄这个类

LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女
所有这些英雄,都有一些共同的状态
比如,他们都有名字,hp,护甲,移动速度等等
这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物
类: 英雄(Hero)
状态: 名字, 血量,护甲,移动速度

注: 本例用到了3种数据类型 分别是 String(字符串),float(浮点数), int(整数),本章只做简单的使用 ,就不展开了,关于变量知识的详细讲解,将在下个章节展开.
注: 这个类没有主方法,不要试图运行它。 并不是所有的类都是有主方法的。
设计英雄这个类
public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 }
public class Hero {
	
	String name; //姓名
	
	float hp; //血量
	
	float armor; //护甲
	
	int moveSpeed; //移动速度
}
步骤 2 :

创建具体的英雄

类就像一个模板,根据这样一个模板,可以创建一个个的具体的英雄
一个个具体的英雄,就叫一个个的对象
new Hero() 就是java中创建一个英雄对象的意思
创建具体的英雄
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; } }
步骤 3 :

类的第一个字母大写

好的编程习惯会让代码看上去更清爽,易读,容易维护
比如类的第一个字母大写
Hero
public class Hero { }
public class Hero {

}
步骤 4 :

练习-Item

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
设计出物品这种类
类名:Item
物品有如下属性:
名字 name 类型是字符串String
价格 price 类型是整型 int

创建(实例化)3件具体物品
名称 价格
血瓶 50
草鞋 300
长剑 350
步骤 5 :

答案-Item

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

2分16秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


注: 创建Item这个类的时候,必须写在一个Item.java的文件里,不可以使用其他文件名,大小写也要保持一致,不能是item.java
public class Item { String name; int price; public static void main(String[] args) { Item potion = new Item(); potion.name= "血瓶"; potion.price =50; Item shoe = new Item(); shoe.name= "草鞋"; shoe.price =300; Item sword = new Item(); sword.name= "长剑"; sword.price =350; } }
public class Item {
	String name;
	int price;
	
	public static void main(String[] args) {
		Item potion = new Item();	
		potion.name= "血瓶";
		potion.price =50;
		
		Item shoe = new Item();	
		shoe.name= "草鞋";
		shoe.price =300;
		
		Item sword = new Item();	
		sword.name= "长剑";
		sword.price =350;
		
	}
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-05-21 交作业,我会在自学编程这条路上走下去。希望各路大神多多关照!
ID:404



我会在自学编程这条路上走下去。希望各路大神多多关照!
package src;

public class Item {
	String name;
	int price;
	
	public static void main(String[] args) {
		
		Item apple = new Item();
		apple.name ="苹果";
		apple.price = 5;
		
		Item iPhone = new Item();
		iPhone.name = "苹果手机";
		iPhone.price =6888;
		
		Item house = new Item();
		house.name ="房子";
		house.price =9999999;
	}

}

							


1 个答案

我逆乘风 答案时间:2018-05-22




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-05-08 我按照步骤做了,可是什么都看不到,求解,老师
lena18340



做完所有步骤后,却什么都看不到,请老师帮忙解答一下,谢谢老师!

							

							


1 个答案

阿万音铃羽 答案时间:2018-05-10
ctrl+s保存一下再运行




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-05-07 double 到底表示的是什么呢
2018-05-03 用含参构造赋初值
2018-04-21 这个类不是有主方法吗?
2018-03-28 提交作业item类的创建
2018-03-27 作业?还有人看到吗
2018-03-17 price价格保留小数怎么写?比如血瓶价格 49.99
2018-03-17 price价格保留两位小数怎么写
2018-03-08 作业-Item
2018-03-05 练习-Item
2018-03-05 练习--Item类
2018-02-21 我是不是有点傻。。。。。
2018-02-06 哪里有更多的习题,总感觉要多练习
2018-01-18 评论区有提供答案就好了
2017-12-31 主方法main为什么在"创建具体的英雄"前面出现,换句话说为什么"创建具体的英雄"要运行,"创建类"就不用运行呢?
2017-12-24 怎么运行总出错那?
2017-11-27 lol
2017-11-25 我这样写是不是复杂了,有冗余啊
2017-11-15 mian 调用的快捷键
2017-11-15 编写问题
2017-11-14 这样写是否也能满足要求
2017-10-22 求助 控制台显示terminated
2017-10-20 作业
2017-10-17 不能进入创建的项目中
2017-10-10 盖伦英文名字出错
2017-10-02 测试类与实体类放在一起也可以吗?
2017-09-29 加了私有标识符就一定写这么多吗?好麻烦啊。
2017-09-19 运行错误。。。。
2017-09-16 =
2017-09-16 关于浮点数
2017-09-14 recovery一直报错。不明白原因
2017-09-05 请问“有new才有对象”这种说法对吗?
2017-08-25 界面出现这个是为什么,要怎么解决
2017-08-05 老师,你英雄属性后面的小数点是什么意思,为啥我不加小数点也可以呢?
2017-08-01 参考
2017-07-21 站长的类图是用什么软件画的?感觉比Visio和Rose清爽多了,跪求。
2017-03-17 作业答案代码
2017-02-24 作业
2017-02-24 老师,作为java程序执行入口的主方法main函数,不可以写在别的普通方法中吧
2017-02-19 打卡
2017-01-02 练习
2016-12-20 代码无错,为啥运行结果是什么都没有啊?
2016-12-02 每次一打“.”的时候,就出现什么数组越界,下面的截图
2016-11-06 类名可以用拼音来表示吗
2016-09-16 不明白一行代码的作用
2016-08-13 新手不明白错在哪了
2016-06-13 描述是否不当
2016-04-16 UML类图的画法
2016-03-16 编写完 才发现类名首字没有大写 请问怎么办
2016-02-14




提问之前请登陆
关于 JAVA 基础-面向对象-类和对象 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图