欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統 1827 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條評論
主站蜘蛛池模板: 欧美成人午夜在线全部免费 | 精品久久久久一区二区国产 | 久在线视频 | 亚洲成人免费网址 | 中文字幕av在线播放 | www.999abab.com| 精品久久久久久久久久 | 一区二区三区四区高清视频 | 情侣av | 99在线精品视频 | 日本一级特黄视频 | 国产69精品久久久久999小说 | 欧美在线日韩 | 国产福利高清在线视频 | 天天射天天操天天干 | 国产精品成人观看视频国产 | 精品毛片| 欧洲精品色| 国产精品国产 | 舔操| 国产人妻人伦精品潘金莲 | 亚洲成人一区二区三区 | 欧美日韩在线第一页 | 韩国三级中文字幕hd久久精品 | 97免费在线视频 | 国产精品久久久久久久一区探花 | 99久久99热这里只有精品 | 亚洲免费观看视频 | 特级毛片s级全部免费 | 一级美女 | 中文无码日韩欧 | 精品久久久一二三区 | 亚洲精品视频观看 | 国产一区二区在线免费观看 | 欧美一区二区三区网站 | 国产视频1 | 午夜理伦三级理论三级在线观看 | 日韩精品一区二区三区国语自制 | 人人干人人爱 | 亚洲人人 | 国产99久久亚洲综合精品 |