亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

C/C++、Java、Go、Python總結對比10-類的總結對比-類的簡單

系統 1735 0

現代編程語言基本上都是面向對象的語言,而這些語言基本上都會使用類體現該思想。本節主要介紹各個語言類的簡單定義及語法,復雜的內容后續慢慢介紹。

c的寫法

c沒有類的定義,可以使用結構體間接實現,這里不做介紹。

c/c++的寫法

定義頭文件person.h

            
              //定義頭文件
class CPerson {
public:  //定義可以被任意實體訪問變量
    int age;  //聲明成員變量
    char name[3];

    int getAge();  //聲明成員函數
    void setAge(int sAge);
    char* getName();
    void setName(char sName[3]);
}; 

            
          

在main函數中調用類

            
              //引入頭文件
#include "person.h"
//初始化成員函數
int CPerson::getAge() {
    return age;
}
void CPerson::setAge(int sAge) {
    age = sAge;
}
char* CPerson::getName() {
    return name;
}

void CPerson::setName(char sName[3]) {
    strcpy(name, sName);
}

int main() {
    int iRet = -1;
    CPerson p;  //聲明一個對象
    p.setAge(20);  //給對象的成員變量賦值
    char pName[3] = "a";
    p.setName(pName);
    cout << "age is " << p.getAge() << endl;
    cout << "name is " << p.getName() << endl;
}

            
          

java的寫法

定義JPerson.java文件

            
              //定義類
public class JPerson {
    public int age;  //聲明成員變量
    public String name;

    public void setAge(int age) {  //聲明成員函數
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

            
          

調用類

            
              public class JPersonMain {
    public static void main(String[] args) {
        JPerson jPerson = new JPerson();  //初始化類
        jPerson.setAge(20);  //為成員變量賦值
        jPerson.setName("a");
        System.out.println(String.valueOf(jPerson.getAge()));  //獲得成員變量值
        System.out.println(String.valueOf(jPerson.getName()));
    }
}

            
          

go的寫法

            
              func main() {
	classDemo1()
}

//go中沒有類的概念,但是可以通過將struct和方法進行結合實現類的功能
type GPerson struct {
	Age int
	Name string
}

//定義方法,注意此處和函數的不同
func (p GPerson)printAge()  {
	fmt.Println(p.Age)
}

func (p GPerson)printName()  {
	fmt.Println(p.Name)
}

func classDemo1()  {
	p := GPerson{20, "a"}  //初始化struct,并為變量賦值
	p.printAge()  //調用相關的方法
	p.printName()
}

            
          

python的寫法

            
               # 定義類
class Person:
    def __init__(self, name, age):  # 聲明成員變量
        self.name = name
        self.age = age

    def pring_name_age(self):  # 定義成員函數
        print(self.age)
        print(self.name)


if __name__ == "__main__":
    p = Person("a", 20)  # 聲明并初始化類
    p.pring_name_age()  # 調用類方法

            
          

總結對比:

1. c和go沒有類的概念。go可以使用結構體和方向實現類的功能;

2. c++、java和python都可以實現類,過程較為類似。類的變量作用范圍以及成員變量的默認值等細節后面章節討論。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天草比 | 久久成人18免费 | 四虎永久在线精品2022 | 天天干天天草天天射 | 视频一区国产精戏刘婷 | 97成人资源站 | 国产精品久久久久久久久久免费 | 国产欧美日韩看片片在线人成 | 日韩精品成人 | 国产精品免费播放 | 婷婷中文网 | 日韩久久精品视频 | www.av天天| 久久综合给合久久狠狠狠色97 | 99久久精品久久久久久婷婷 | 欧美亚洲第一页 | 国产高清日韩 | 91高清在线成人免费观看 | 亚洲精品不卡视频 | 奇米影视666| 伊人亚洲综合网 | 天天干天天色天天干 | 婷婷尹人香蕉久久天堂 | 99国产精品久久久久久久成人热 | 日本中文在线观看 | 四虎免费在线播放 | 国产高清一级视频在线观看 | 日韩色区 | 日韩在线1| 114毛片免费观看网站 | 四虎在线永久视频观看 | 毛片女人毛片一级毛片毛片 | 97视频免费观看 | 四虎影视大全 | 天天干天天在线 | 一级免费大片 | 在线久草视频 | 91视频一88av| 久草在线视频免费资源观看 | 久久69精品久久久久久hb | 亚洲专区欧美 |