最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中類的繼承代碼實(shí)例

 更新時(shí)間:2014年10月28日 10:37:12   投稿:junjie  
這篇文章主要介紹了Python中類的繼承代碼實(shí)例,本文直接給出代碼及運(yùn)行效果,需要的朋友可以參考下

相對(duì)于C++的繼承編寫,Python更簡(jiǎn)潔,而且效率也是很高的,下面編寫一個(gè)簡(jiǎn)單Python的繼承例子。

復(fù)制代碼 代碼如下:

#!/usr/bin/python  
#filename: pyclass.py  
 
class Member:  
        def __init__(self, name, age):  
                self.name = name  
                self.age = age  
                print 'Member init:%s' % self.name  
        def tell(self):  
                print 'Name:%s,Age:%d' % (self.name, self.age),  
 
class Student(Member):  
        def __init__(self, name, age, marks):  
                Member.__init__(self, name, age)  
                self.marks = marks  
                print 'Student init:%s' % self.name  
        def tell(self):  
                Member.tell(self)  
                print 'Marks:%d' % self.marks  
 
class Teacher(Member):  
        def __init__(self, name, age, salary):  
                Member.__init__(self, name, age)  
                self.salary = salary  
                print 'Teacher init:%s' % self.name  
        def tell(self):  
                Member.tell(self)  
                print 'Salary:%d' % self.salary  
 
s = Student('Tom', 20, 80)  
t = Teacher('Mrs.Huang', 30, 50000)  
 
members = [s, t]  
for mem in members:  
        mem.tell() 

運(yùn)行效果:

復(fù)制代碼 代碼如下:

[root@localhost hhl]# python pyclass.py   
Member init:Tom  
Student init:Tom  
Member init:Mrs.Huang  
Teacher init:Mrs.Huang  
Name:Tom,Age:20 Marks:80  
Name:Mrs.Huang,Age:30 Salary:50000 

我們同樣編寫同樣效果的C++例子:

復(fù)制代碼 代碼如下:

//filename: class.cpp  
#include <string.h>  
#include <iostream>  
using namespace std;  
 
class Member  
{  
public:  
    Member(char *n, int a);  
    void tell();  
private:  
    char name[10];  
    int age;  
};  
 
Member::Member(char *n, int a)  
{  
    memcpy(name, n, sizeof(name));  
    age = a;  
    cout<<"Member init:"<<name<<endl;  
}  
 
void Member::tell()  
{  
    cout<<"Name:"<<name<<","<<"Age:"<<age<<",";  
}  
 
class Student:public Member  
{  
public:  
    Student(char *n, int a, int m);  
    void tell_s();  
private:  
    int marks;  
};  
 
Student::Student(char *n, int a, int m):Member(n, a)  
{  
    marks = m;  
    cout<<"Student init:"<<n<<endl;  
}  
 
void Student::tell_s()  
{  
    Member::tell();  
    cout<<"Marks:"<<marks<<endl;  
}  
 
class Teacher:public Member  
{  
public:  
    Teacher(char *n, int a, int s);  
    void tell_t();  
private:  
    int salary;  
};  
 
Teacher::Teacher(char *n, int a, int s):Member(n, a)  
{  
    salary = s;  
    cout<<"Teacher init:"<<n<<endl;  
}  
 
void Teacher::tell_t()  
{  
    Member::tell();  
    cout<<"Salary:"<<salary<<endl;  
}  
 
int main(void)  
{  
    Student s("Tom", 20, 80);  
    Teacher t("Mrs.Huang", 30, 50000);  
      
    s.tell_s();  
    t.tell_t();  
 
    return 0;  

運(yùn)行效果:

復(fù)制代碼 代碼如下:

[root@localhost hhl]# ./class   
Member init:Tom  
Student init:Tom  
Member init:Mrs.Huang  
Teacher init:Mrs.Huang  
Name:Tom,Age:20,Marks:80  
Name:Mrs.Huang,Age:30,Salary:50000 

這兩者的運(yùn)行效果是一樣的,但是python更簡(jiǎn)潔些。。。

相關(guān)文章

最新評(píng)論

兴山县| 马关县| 务川| 漾濞| 绍兴市| 新巴尔虎右旗| 临泉县| 崇明县| 柘城县| 托克逊县| 东乡族自治县| 温宿县| 昌图县| 莱州市| 高陵县| 沁水县| 胶南市| 湄潭县| 岗巴县| 红桥区| 濮阳市| 东平县| 西畴县| 丰顺县| 泾阳县| 永定县| 长春市| 稷山县| 丰宁| 固安县| 剑河县| 灵武市| 合川市| 丹寨县| 郸城县| 明水县| 开原市| 三江| 宝兴县| 泗阳县| 永昌县|