摘要:類和對象設(shè)計英雄這個類有一些共同的狀態(tài),比如名字,,護甲,移動速度等等,這樣我們就可以設(shè)計一種東西,叫做類,代表英雄這樣一種事物類英雄狀態(tài)名字血量,護甲,移動速度這個類沒有主方法,不要試圖運行它。并不是所有的類都是有主方法的。
1 類和對象 (1) 設(shè)計英雄這個類
有一些共同的狀態(tài),比如名字,hp,護甲,移動速度等等,這樣我們就可以設(shè)計一種東西,叫做類,代表英雄這樣一種事物
類:英雄(Hero)
狀態(tài):名字, 血量,護甲,移動速度
這個類沒有主方法,不要試圖運行它。 并不是所有的類都是有主方法的。
public class Hero { String name; //姓名 float hp; //血量 float armor; //護甲 int moveSpeed; //移動速度 }(2) 創(chuàng)建具體的英雄
類就像一個模板,根據(jù)這樣一個模板,可以創(chuàng)建一個個的具體的英雄,一個個具體的英雄,就叫一個個的對象
new Hero()就是java中創(chuàng)建一個英雄對象的意思
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整數(shù),float 浮點數(shù),也可以是類類型,比如String字符串
3 方法 (1) 什么是方法 (2) 方法返回類型屬性名稱一般來說,都是小寫
比如name如果有多個單詞組成,后面的單詞的第一個字母大寫
比如moveSpeed屬性也是變量,所以需要滿足變量的命名規(guī)則
float getArmor(){ return armor; }
void keng(){ System.out.println("坑隊友!"); }
(3) 方法的參數(shù)這個方法是用來獲取一個英雄有多少護甲的,返回類型是float
有的方法是有返回類型的
有的方法不需要返回值,這個時候就把返回類型設(shè)置為void,表示該方法不返回任何值,比如方法 "坑隊友"
英雄在一些特定情況下,可以增加移動速度,這樣我們就通過addSpeed這個方法增加移動速度
int speed 叫做方法的參數(shù)
void addSpeed(int speed){ //在原來的基礎(chǔ)上增加移動速度 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){ //在原來的基礎(chǔ)上增加移動速度 moveSpeed = moveSpeed + speed; } public static void main(String[] args) { Hero garen = new Hero(); garen.name = "蓋倫"; garen.moveSpeed = 350; garen.addSpeed(100); } }(4) 方法的命名
方法是一個類的動作行為,所以一般都是以動詞開頭的,比如keng
如果有多個單詞,后面的每個單詞的第一個字母使用大寫,比如addSpeed
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67709.html
摘要:概述到這里我們講說面向?qū)ο蟮南盗胁糠值淖詈笠粋€課程,面向?qū)ο蟊仨氄莆諆蓚€東西一個是對象的創(chuàng)建一個是繼承。只需要記住一句話,屬性放在構(gòu)造函數(shù)里面,方法放在原型上。 概述 到這里我們講說js面向?qū)ο蟮南盗胁糠值淖詈笠粋€課程,面向?qū)ο蟊仨氄莆諆蓚€東西一個是對象的創(chuàng)建一個是繼承。這節(jié)課我們重點說說這兩個問題最后我們說下在ES6里面面向?qū)ο笤趺赐妗?1對象的創(chuàng)建 我們第一節(jié)課已經(jīng)就會用了,單體模...
摘要:會造成內(nèi)存浪費的問題構(gòu)造函數(shù)繼承聲明父類聲明子類生成實例組合式繼承組合式繼承是汲取了兩者的優(yōu)點,既避免了內(nèi)存浪費,又使得每個實例化的子類互不影響。 寫在前面 既然是淺談,就不會從原理上深度分析,只是幫助我們更好地理解... 面向?qū)ο笈c面向過程 面向?qū)ο蠛兔嫦蜻^程是兩種不同的編程思想,剛開始接觸編程的時候,我們大都是從面向過程起步的,畢竟像我一樣,大家接觸的第一門計算機語言大概率都是C語...
摘要:與都繼承自類,在中也是使用字符數(shù)組保存字符串,,這兩種對象都是可變的。采用字節(jié)碼的好處語言通過字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語言執(zhí)行效率低的問題,同時又保留了解釋型語言可移植的特點。 String和StringBuffer、StringBuilder的區(qū)別是什么?String為什么是不可變的? String和StringBuffer、StringBuilder的區(qū)別 可變性...
摘要:基于原型的面向?qū)ο笤诨谠偷恼Z言中如并不存在這種區(qū)別它只有對象不論是構(gòu)造函數(shù),實例,原型本身都是對象。允許動態(tài)地向單個的對象或者整個對象集中添加或移除屬性。為了解決以上兩個問題,提供了構(gòu)造函數(shù)創(chuàng)建對象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認(rèn)識面向?qū)ο?1. JavaScript...
閱讀 1890·2021-09-22 15:29
閱讀 3365·2019-08-30 15:44
閱讀 3574·2019-08-30 15:43
閱讀 1774·2019-08-30 13:48
閱讀 1501·2019-08-29 13:56
閱讀 2485·2019-08-29 12:12
閱讀 978·2019-08-26 11:35
閱讀 1060·2019-08-26 10:25