摘要:類和對象設計英雄這個類有一些共同的狀態,比如名字,,護甲,移動速度等等,這樣我們就可以設計一種東西,叫做類,代表英雄這樣一種事物類英雄狀態名字血量,護甲,移動速度這個類沒有主方法,不要試圖運行它。并不是所有的類都是有主方法的。
1 類和對象 (1) 設計英雄這個類
有一些共同的狀態,比如名字,hp,護甲,移動速度等等,這樣我們就可以設計一種東西,叫做類,代表英雄這樣一種事物
類:英雄(Hero)
狀態:名字, 血量,護甲,移動速度
這個類沒有主方法,不要試圖運行它。 并不是所有的類都是有主方法的。
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) 類的第一個字母大寫 2 屬性 (1) 屬性的類型
(2) 屬性名稱屬性的類型可以是基本類型,比如Int整數,float 浮點數,也可以是類類型,比如String字符串
3 方法 (1) 什么是方法 (2) 方法返回類型屬性名稱一般來說,都是小寫
比如name如果有多個單詞組成,后面的單詞的第一個字母大寫
比如moveSpeed屬性也是變量,所以需要滿足變量的命名規則
float getArmor(){ return armor; }
void keng(){ System.out.println("坑隊友!"); }
(3) 方法的參數這個方法是用來獲取一個英雄有多少護甲的,返回類型是float
有的方法是有返回類型的
有的方法不需要返回值,這個時候就把返回類型設置為void,表示該方法不返回任何值,比如方法 "坑隊友"
英雄在一些特定情況下,可以增加移動速度,這樣我們就通過addSpeed這個方法增加移動速度
int speed 叫做方法的參數
void addSpeed(int speed){ //在原來的基礎上增加移動速度 moveSpeed = moveSpeed + speed; }
給蓋倫增加100的移動速度
public class Hero { String name; //姓名 float hp; //血量 float armor; //護甲 int moveSpeed; //移動速度 //坑隊友 void keng(){ System.out.println("坑隊友!"); } //獲取護甲值 float getArmor(){ return armor; } //增加移動速度 void addSpeed(int speed){ //在原來的基礎上增加移動速度 moveSpeed = moveSpeed + speed; } public static void main(String[] args) { Hero garen = new Hero(); garen.name = "蓋倫"; garen.moveSpeed = 350; garen.addSpeed(100); } }(4) 方法的命名
方法是一個類的動作行為,所以一般都是以動詞開頭的,比如keng
如果有多個單詞,后面的每個單詞的第一個字母使用大寫,比如addSpeed
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67709.html
摘要:概述到這里我們講說面向對象的系列部分的最后一個課程,面向對象必須掌握兩個東西一個是對象的創建一個是繼承。只需要記住一句話,屬性放在構造函數里面,方法放在原型上。 概述 到這里我們講說js面向對象的系列部分的最后一個課程,面向對象必須掌握兩個東西一個是對象的創建一個是繼承。這節課我們重點說說這兩個問題最后我們說下在ES6里面面向對象怎么玩。 1對象的創建 我們第一節課已經就會用了,單體模...
摘要:會造成內存浪費的問題構造函數繼承聲明父類聲明子類生成實例組合式繼承組合式繼承是汲取了兩者的優點,既避免了內存浪費,又使得每個實例化的子類互不影響。 寫在前面 既然是淺談,就不會從原理上深度分析,只是幫助我們更好地理解... 面向對象與面向過程 面向對象和面向過程是兩種不同的編程思想,剛開始接觸編程的時候,我們大都是從面向過程起步的,畢竟像我一樣,大家接觸的第一門計算機語言大概率都是C語...
摘要:與都繼承自類,在中也是使用字符數組保存字符串,,這兩種對象都是可變的。采用字節碼的好處語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可移植的特點。 String和StringBuffer、StringBuilder的區別是什么?String為什么是不可變的? String和StringBuffer、StringBuilder的區別 可變性...
摘要:基于原型的面向對象在基于原型的語言中如并不存在這種區別它只有對象不論是構造函數,實例,原型本身都是對象。允許動態地向單個的對象或者整個對象集中添加或移除屬性。為了解決以上兩個問題,提供了構造函數創建對象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認識面向對象 1. JavaScript...
閱讀 1873·2021-09-22 15:29
閱讀 3355·2019-08-30 15:44
閱讀 3568·2019-08-30 15:43
閱讀 1766·2019-08-30 13:48
閱讀 1493·2019-08-29 13:56
閱讀 2480·2019-08-29 12:12
閱讀 973·2019-08-26 11:35
閱讀 1056·2019-08-26 10:25