對比幾種常用語言的類壁熄,實(shí)例,類屬性碳竟、方法草丧,實(shí)例屬性、方法等

1莹桅、類和構(gòu)造函數(shù)

構(gòu)造函數(shù):初始化實(shí)例
實(shí)例屬性:定義在方法中的變量昌执,只作用于當(dāng)前實(shí)例
實(shí)例方法:屬于實(shí)例的函數(shù)

1.js主要靠原型創(chuàng)造對象,ES6出現(xiàn)了class語法糖

class People {
//構(gòu)造函數(shù)
//實(shí)例屬性 
  constructor(name, age) {
    this.name = name;
    this.age= age;
  }
// 實(shí)例方法
  getName() {
    return  this.name;
  }
}
var p=new People()

// 以前的原型寫法
function People(name,age){
     this.name = name;
    this.age= age;
}
People.prototype.getName=function(){
    return this.name;
}
...
  1. python
class People:
#構(gòu)造函數(shù)
#name诈泼、age實(shí)例屬性
   def __init__(self, name, age):
      self.name = name
      self.age = age
  # getInfo實(shí)例方法
   def getInfo(self):
      print "Name : ", self.name,  ", Salary: ", self.salary

類方法和靜態(tài)方法

面向?qū)ο蟪绦蛟O(shè)計中仙蚜,類方法和靜態(tài)方法常用術(shù)語
邏輯上講,類方法是只能由類名調(diào)用厂汗,靜態(tài)方法可以有類名和對象名進(jìn)行調(diào)用
在c++中委粉,靜態(tài)方法和類方法邏輯上是等價的,只有一個概念娶桦,不會混淆(es6也是)
但python中贾节,分為三類方法,


類屬性:所有對象共享衷畦,通過類調(diào)用
類方法:屬于類的方法栗涂,只能訪問類變量,不能訪問實(shí)例變量
類方法可以通過類對象或者實(shí)例對象調(diào)用祈争,用途可修改類屬性

python 類屬性 類方法 靜態(tài)方法

1.python里的類屬性斤程,類方法

python里的類方法 可通過實(shí)例 也可以通過類調(diào)用

#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Person:
    country = 'Chinese'    # 類屬性
    def __init__(self, name, country):
        self.name = name
        self.country = country

    @classmethod
    def nationality(cls):    # 這里將sefl 改為 cls

        print('Bigberg is %s.' % cls.country)

p = Person('Bigberg', 'CN')

print Person.country #Chinese
Person.nationality() #Bigberg is Chinese.

p.nationality() #Bigberg is Chinese.

2.python里的靜態(tài)方法

靜態(tài)方法:靜態(tài)方法中不需要額外定義參數(shù),因此在靜態(tài)方法中引用類屬性的話菩混,必須通過類對象來引用

class people3:
    country="china"

    @staticmethod
    def getCountry():
        return people3.country

p=people3()
print(p.getCountry())   # 實(shí)例調(diào)用靜態(tài)方法 china
print(people3.getCountry())  #類對象調(diào)用靜態(tài)方法 china

注意 python靜態(tài)方法可以通過實(shí)例對象調(diào)用忿墅,而ES6不行


ES6 靜態(tài)方法和靜態(tài)屬性

class Foo {
  static classMethod() {
    return 'hello';
  }
}

Foo.classMethod() // 'hello'

var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a functio

這里的靜態(tài)方法又稱為類方法,故而也只能使用類 調(diào)用方法
類相當(dāng)于實(shí)例的原型沮峡,所有在類中定義的方法疚脐,都會被實(shí)例繼承。如果在一個方法前邢疙,加上static關(guān)鍵字棍弄,就表示該方法不會被實(shí)例繼承望薄,而是直接通過類來調(diào)用,這就稱為“靜態(tài)方法”呼畸。


java中的面向?qū)ο?/h3>

1.局部變量:在方法痕支、構(gòu)造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中蛮原,方法結(jié)束后采转,變量就會自動銷毀。
2.成員變量:成員變量是定義在類中瞬痘,方法體之外的變量故慈。這種變量在創(chuàng)建對象的時候?qū)嵗3蓡T變量可以被類中方法框全、構(gòu)造方法和特定類的語句塊訪問察绷。
3.類變量:類變量也聲明在類中,方法體之外津辩,但必須聲明為static類型拆撼。

public class Dog{
  String breed;
  int age;
  String color;
  void barking(){
  }
 
  void hungry(){
  }
 
  void sleeping(){
  }
}

構(gòu)造函數(shù):與類同名,可以有多個

public class Puppy{
    public Puppy(){
    }
 
    public Puppy(String name){
        // 這個構(gòu)造器僅有一個參數(shù):name
    }
}

一個源文件中只能有一個public類

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喘沿,一起剝皮案震驚了整個濱河市闸度,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚜印,老刑警劉巖莺禁,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異窄赋,居然都是意外死亡哟冬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門忆绰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浩峡,“玉大人贬堵,你說我怎么就攤上這事杰捂。” “怎么了凸丸?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵稚茅,是天一觀的道長纸淮。 經(jīng)常有香客問我,道長峰锁,這世上最難降的妖魔是什么萎馅? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮虹蒋,結(jié)果婚禮上糜芳,老公的妹妹穿的比我還像新娘。我一直安慰自己魄衅,他們只是感情好峭竣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晃虫,像睡著了一般皆撩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哲银,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天扛吞,我揣著相機(jī)與錄音,去河邊找鬼荆责。 笑死滥比,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的做院。 我是一名探鬼主播盲泛,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼键耕!你這毒婦竟也來了寺滚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤屈雄,失蹤者是張志新(化名)和其女友劉穎村视,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酒奶,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蓖议,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了讥蟆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勒虾。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瘸彤,靈堂內(nèi)的尸體忽然破棺而出修然,到底是詐尸還是另有隱情,我是刑警寧澤质况,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布愕宋,位于F島的核電站,受9級特大地震影響结榄,放射性物質(zhì)發(fā)生泄漏中贝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一臼朗、第九天 我趴在偏房一處隱蔽的房頂上張望邻寿。 院中可真熱鬧蝎土,春花似錦、人聲如沸绣否。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒜撮。三九已至暴构,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間段磨,已是汗流浹背取逾。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苹支,地道東北人砾隅。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像沐序,于是被迫代替她去往敵國和親琉用。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容