C/C++、Java、Go、Python总结对比17-类的构造函数

在定义一个类的对象的时候,常常会需要对类的成员变量进行赋值,或者需要先执行某些函数实现功能。下面看下面向对象的语言c++、java和python的构造函数的用法。

c++的写法

头文件constructorDemo.h

#include <string>

using namespace std;
class ConstructorDemo {
public:
    //声明构造函数
    ConstructorDemo(string name);
    void printHello();
    string constructorName;
};

constructorDemo.cpp

#include "constructorDemo.h"
#include <iostream>

//定义构造函数
ConstructorDemo::ConstructorDemo(string name) {
    constructorName = name;  //给成员变量赋值
    printHello();  //调用函数
}

void ConstructorDemo::printHello() {
    cout<<"hello"<<endl;
}

int main() {
    ConstructorDemo constructor("wan");  //实例化时会先执行构造函数
    cout<<constructor.constructorName<<endl;
};

java的写法

ConstructorDemo.java

public class ConstructorDemo {
    String name;
    //定义构造函数
    ConstructorDemo(String name) {
        this.name = name;  //给成员变量赋值
        pringHello();  //执行成员函数
    }

    public void pringHello() {
        System.out.println("hello");
    }
}

Main.java

public class Main {
    public static void main(String[] args) {
        ConstructorDemo constructor = new ConstructorDemo("wan");  //实例化时先执行构造函数
        System.out.println(constructor.name);
    }
}

python的写法

class ConstructorDemo:
    def __init__(self, name):  # 定义构造函数
        self.name = name  # 给成员变量赋值
        self.print_hello()  # 执行成员函数

    def print_hello(self):
        print("hello")


if __name__ == "__main__":
    constructor = ConstructorDemo("wan")
    print(constructor.name)

对比总结:

1. 3种语言的定义构造函数的大致思路是一致的,只需要注意3中语言的语法区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值