亚洲全黄无码一级在线看_国产剧情久久久性色_无码av一区二区三区无码_亚洲成a×人片在线观看

當(dāng)前位置: 首頁(yè) > 科技新聞 >

嘿,你對(duì)象在這兒—— 面向?qū)ο螅侯惡蛯?duì)象

時(shí)間:2020-04-11 15:57來(lái)源:網(wǎng)絡(luò)整理 瀏覽:
相信很多小伙伴學(xué)Java的時(shí)候都是戰(zhàn)術(shù)開(kāi)頭:HelloWorld!首先,創(chuàng)建一個(gè)類,然后寫一個(gè)主方法,最后打印輸出,ojbk完事兒。等到我們
相信很多小伙伴學(xué)Java的時(shí)候都是戰(zhàn)術(shù)開(kāi)頭:HelloWorld!

首先,創(chuàng)建一個(gè)類,然后寫一個(gè)主方法,最后打印輸出,ojbk完事兒。等到我們學(xué)面向對(duì)象的時(shí)候不得不去了解一下什么是類,什么是對(duì)象,他倆是啥關(guān)系。

嘿,你對(duì)象在這兒—— 面向?qū)ο螅侯惡蛯?duì)象

那么類和對(duì)象到底是什么呢?

類就是有某些共同特征的實(shí)體的集合;對(duì)象就是類的實(shí)例,一個(gè)對(duì)象當(dāng)然就是一個(gè)類的實(shí)例。來(lái),上例子:有一句話叫物以類聚人以群分,咱們拿人來(lái)舉例,人類或者說(shuō)人當(dāng)然是一個(gè)類,因?yàn)槟阏f(shuō)人的時(shí)候它不是一個(gè)實(shí)體,也就是不知道說(shuō)的是哪個(gè)人;但是說(shuō)人的時(shí)候我們都知道特征,有鼻子有眼的,能制造和使用工具。還記得初一英語(yǔ)的第一篇對(duì)話不,I'm Kangkang are you Michael?這里的Kangkang和Michael是不是對(duì)象,當(dāng)然是,Kangkang有鼻子有眼的吧。不能說(shuō)人家不會(huì)制造和使用工具吧,簡(jiǎn)單的也算,符合人這個(gè)類的特征,又是一個(gè)實(shí)例,所以人家是一個(gè)對(duì)象,那Michael呢?當(dāng)然也是一個(gè)對(duì)象。

嘿,你對(duì)象在這兒—— 面向?qū)ο螅侯惡蛯?duì)象

類和對(duì)象的關(guān)系該亮出來(lái)了,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

啥意思呢,首先我不知道小伙伴對(duì)于抽象的理解是不是和我以前一樣,具體的反義詞啊,很難描述的東西啊,其實(shí)這里的抽象簡(jiǎn)單來(lái)說(shuō)就是抽出像的部分,你看Kangkang有鼻子有眼的,會(huì)走路、吃飯、睡覺(jué)......那Michael也是,你也是,我也是;每一個(gè)人都有的特點(diǎn)抽取出來(lái)歸為人類。那對(duì)象是類的實(shí)例就應(yīng)該很好理解了,Kangkang這個(gè)對(duì)象是不是人的一個(gè)實(shí)例?當(dāng)然是,你家的貓是不是貓的一個(gè)實(shí)例?毛茸茸的,還會(huì)喵喵叫,當(dāng)然是,那別人家養(yǎng)的貓自然也是貓類的一個(gè)實(shí)例。

嘿,你對(duì)象在這兒—— 面向?qū)ο螅侯惡蛯?duì)象

這里再說(shuō)一下對(duì)象的屬性和方法,

然后咱們就上一段代碼,對(duì)象包含屬性和方法,屬性就是對(duì)象的一些特征,比如:名字,性別,身高;方法可以理解為對(duì)象的某些行為,比如給吃飯,睡覺(jué),學(xué)習(xí)。來(lái)上一段代碼:

 1 package test;
2
3 public class Person {
4
5 int age;// age屬性
6 String name;// name屬性
7
8 // 定義一個(gè)睡覺(jué)方法
9 public void sleep() {
10 System.out.println("睡覺(jué)");
11 }
12
13 // 定義一個(gè)學(xué)習(xí)方法
14 public void study() {
15 // 方法中可以加上屬性
16 System.out.println(name + "學(xué)習(xí)");
17 }
18
19 public static void main(String[] args) {
20
21 // 創(chuàng)建一個(gè)Person類的對(duì)象p1
22 Person p1 = new Person();
23
24 // 通過(guò) 對(duì)象.屬性 來(lái)給屬性賦值
25 p1.name = "Kangkang";
26 p1.age = 18;
27 System.out.println(p1.name);
28
29 //通過(guò)對(duì)象.方法來(lái)調(diào)用方法
30 p1.sleep();
31
32 }
33
34 }
    
執(zhí)行結(jié)果:
     Kangkang
     睡覺(jué) 

不知道有沒(méi)有初學(xué)者想問(wèn)為啥Kangkang在睡覺(jué)前面打印,結(jié)果中的Kangkang是直接在main方法中打印p1對(duì)象的name屬性得到的,而睡覺(jué)則是p1對(duì)象調(diào)用的前面的sleep方法,在執(zhí)行調(diào)用的方法的時(shí)候打印的。

我們來(lái)給創(chuàng)建對(duì)象那一句拿出來(lái)看看

這個(gè)類只能創(chuàng)建一個(gè)對(duì)象嗎?

當(dāng)然不是,只要你想要多少new多少

 1 package test;
2
3 public class Person {
4
5 int age;// age屬性
6 String name;// name屬性
7
8 // 定義一個(gè)睡覺(jué)方法
9 public void sleep() {
10 System.out.println("睡覺(jué)");
11 }
12
13 // 定義一個(gè)學(xué)習(xí)方法
14 public void study() {
15 // 方法中可以加上屬性
16 System.out.println(name + "學(xué)習(xí)");
17 }
18
19 public static void main(String[] args) {
20
21 // 創(chuàng)建一個(gè)Person類的對(duì)象p1
22 Person p1 = new Person();
23
24 // 通過(guò) 對(duì)象.屬性 來(lái)給屬性賦值
25 p1.name = "Kangkang";
26 p1.age = 18;
27 System.out.println(p1.name);
28
29 //通過(guò)對(duì)象.方法來(lái)調(diào)用方法
30 p1.sleep();
31
32 //再創(chuàng)建一個(gè)對(duì)象p2
33 Person p2 = new Person();
34 //給屬性賦值
35 p2.name ="特朗普";
36 p2.age = 3;
37
      //p2調(diào)用study方法
38 p2.study();
      //p1調(diào)用study方法
39 p1.study();
40
41 }
42
43 }
  執(zhí)行結(jié)果:
      Kangkang
      睡覺(jué)
      特朗普學(xué)習(xí)
      Kangkang學(xué)習(xí)

study()方法的打印語(yǔ)句中我們加了一個(gè)屬性name p2調(diào)用時(shí)打印的是p2的name屬性 特朗普+學(xué)習(xí),p1調(diào)用時(shí)打印的是p1的name屬性 Kangkang+學(xué)習(xí)

所以我們通過(guò)對(duì)象調(diào)用方法時(shí),方法中的屬性就是當(dāng)前對(duì)象的屬性。

最后

多說(shuō)一句,很多人學(xué)Python過(guò)程中會(huì)遇到各種煩惱問(wèn)題,沒(méi)有人解答容易放棄。小編是一名python開(kāi)發(fā)工程師,這里有我自己整理了一套最新的python系統(tǒng)學(xué)習(xí)教程,包括從基礎(chǔ)的python腳本到web開(kāi)發(fā)、爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)等。想要這些資料的可以關(guān)注小編,并在后臺(tái)私信小編:“01”即可領(lǐng)取。

推薦內(nèi)容