美文网首页
第九部分 面向对象

第九部分 面向对象

作者: 护国寺小学生 | 来源:发表于2019-02-01 21:00 被阅读0次

#定义一个类

class Myclass:

    #类的属性

    attr='类的属性'

    #类的方法

    def _init_(self):

        self.data=[]

    def func(var):

        return 'hello python!!'

#实例化——对象

obj=Myclass()

print(obj.attr)

print(obj.func())


class Complex:

    def __init__(self,realpart,imagpart):

        self.r = realpart

        self.i = imagpart

x = Complex(3.0, -4.5)

print(x.r,x.i)


#self 代表类的实例,代表当前对象的地址,self 不是 python 关键字,我们把他换成别的也是可以正常执行的:

class Test:

    def prt(self):

        print(self)

        print(self.__class__)

t=Test()

t.prt()


#类的方法

#在类地内部,使用 def 关键字来定义一个方法,

#与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。

#定义类

class people:

    #定义类的基本属性

    name = ''

    age = 0

    #定义类的私有属性,外部无法直接访问

    __weight = 0

    #构造方法

    def __init__(self,n,a,w):

        self.name=n

        self.age=a

        self.__weight=w

    def speak(self):

        print('%s说我今年%d岁了!'%(self.name,self.age))

#实例化类

p=people('mary',23,120)

print(p.name)

print(p.age)

p.speak()


#继承

class people:

    name = ''

    age = 0

    __weight = 0

    def __init__(self,n,a,w):

        self.name=n

        self.age=a

        self.__weight=w

    def speak(self):

        print('%s说我今年%d岁了!'%(self.name,self.age))

#单继承

class student(people):

    #定义基本属性

    grade=0

    #构造方法

    def __init__(self,n,a,w,g):

        #调用父类的构函

        people.__init__(self,n,a,w)

        self.grade=g

    #覆写父类的方法

    def speak(self):

        print('%s说我今年%d岁了,在读%d年级。'%(self.name,self.age,self.grade))

s=student('mary',23,120,5)

s.speak()


#多继承

class people:

    name = ''

    age = 0

    __weight = 0

    def __init__(self,n,a,w):

        self.name=n

        self.age=a

        self.__weight=w

    def speak(self):

        print('%s说我今年%d岁了!'%(self.name,self.age))

#单继承

class student(people):

    #定义基本属性

    grade=0

    #构造方法

    def __init__(self,n,a,w,g):

        #调用父类的构函

        people.__init__(self,n,a,w)

        self.grade=g

    #覆写父类的方法

    def speak(self):

        print('%s说我今年%d岁了,在读%d年级。'%(self.name,self.age,self.grade))

#再定义一类

class talker():

    name=''

    topic=''

    def __init__(self,n,t):

        self.name=n

        self.topic=t

    def speak(self):

        print('我是%s,今天讨论的主体是%s'%(self.name,self.topic))

#多重继承

class talk(talker,student):

    def __init__(self,n,a,w,g,t):

        student.__init__(self,n,a,w,g)

        talker.__init__(self,n,t)

    def speak(self):

        print('我是%s,今年%d岁了,在读%d年级,今天讨论的主体是:《%s》'%(self.name,self.age,self.grade,self.topic))

test=talk('mary',12,120,5,'python的应用')

test.speak()  #方法名同,默认调用的是在括号中排前地父类的方法

相关文章

  • python入门与进阶(9-1)

    第九章高级部分:面向对象9-1 类的定义

  • Java面向对象部分

    重载 方法名一样,参数列表不同,同一类的事情 方法的重写override 子类中,出现了和父类一模一样的方法时,子...

  • 第九部分 面向对象

    #定义一个类 class Myclass: #类的属性 attr='类的属性' #类的方法 def...

  • Python面向对象1

    Python支持多种编程方式:面向过程,面向对象,面向切面(装饰器部分)等 OOP思想 面向对象的基本哲学:世界是...

  • JavaScript核心技术开发解密读书笔记(第九章)

    第九章 面向对象 面向对象是JavaScript中比较不好理解的地方,去年校招的时候,每当被问到原型链,属性,继承...

  • 【Java】第一个java程序

    一、java语言特点可移植性:一处编译,到处运行面向对象:java是纯面向对象编程的,C++部分面向结构编程,部分...

  • 22. 企业级开发基础3:类和对象

    本节内容开始,讲解企业级项目开发基础部分:面向对象;主要从对象的抽象、对象的创建,对象中特殊的方法,面向对象的封装...

  • 面向对象编程

    面向对象:一切皆对象 1.了解对象,对象包含两个部分 ---对象的组成部分{ .是对象的数据模型,...

  • j2se回顾总结(三)

    面向对象思想 1、为什么要出现面向对象思想? a、机器语言01 汇编语言部分是英语部分01 高级语言全部转换成英语...

  • 第七篇:Kotlin之面向对象升级(一)

    上篇:Kotlin之面向对象简单 本章节来介绍Kotlin面向对象的高级部分: 一. 扩展:kotlin的扩展是一...

网友评论

      本文标题:第九部分 面向对象

      本文链接:https://www.haomeiwen.com/subject/gabptqtx.html