zoukankan      html  css  js  c++  java
  • python OOP (1)

    定义class

    class 名字:

    self参数

    代表着实例,不代表类

    定义函数def

    def 各种函数一般要传入self

    生成实例

    x=myclass()

    ()是必要的

    实例

    class my_first_class: #新建类
        def setdata(self,value): #setdata函数
            self.data=value
        def display(self): #display函数
            print(self.data)
    x=my_first_class() #创建实例
    y=my_first_class()
    x.setdata('string') #设置实例
    y.setdata(3.1415)
    x.display() #打印实例
    y.display()
    

    类继承

    class 子类(父类)

    子类可以重载父类的函数,并且继承其他默认的函数

    如果出现了子类重载的函数那么仅仅只有这一个子类的函数发生了变化,不会影响到父类以及其他

    实例

    class my_first_class: #新建类
        def setdata(self,value): #setdata函数
            self.data=value
        def display(self): #display函数
            print(self.data)
    x=my_first_class() #创建实例
    y=my_first_class()
    x.setdata('string') #设置实例
    y.setdata(3.1415)
    x.display() #打印实例
    y.display()
    ### 继承
    class my_second_class(my_first_class): #类继承
        def display(self): #重载display
            print('now value = %s'% self.data)
    z=my_second_class() #创建继承的类的实例
    z.setdata(42)
    z.display() #实验重载display
    

    运算符重载

    ①__init__

    构造函数

    ②__add__

    重载加法

    ③__str__

    重载print

    实例

    class my_first_class: #新建类
        def setdata(self,value): #setdata函数
            self.data=value
        def display(self): #display函数
            print(self.data)
    x=my_first_class() #创建实例
    y=my_first_class()
    x.setdata('string') #设置实例
    y.setdata(3.1415)
    x.display() #打印实例
    y.display()
    ### 继承
    class my_second_class(my_first_class): #类继承
        def display(self): #重载display
            print('now value = %s'% self.data)
    z=my_second_class() #创建继承的类的实例
    z.setdata(42)
    z.display() #实验重载display
    ### 重载运算符
    class my_third_class(my_second_class): #继承于第二个子类
        def __init__(self,value): #重载初始化用于my_third_class()
            self.data = value
        def __add__(self,other): #用于self+other
            return my_third_class(self.data+other)
        def __str__(self): #用于print(self)
            return 'The value is %s' %self.data
        def mul(self,other):
            self.data *=other
    a=my_third_class('abc') #实验__init__
    a.display()
    print(a) #实验__str__
    b=a+'xyz' #实验__add__
    b.display()
    print(b)
    a.mul(3) #实验mul
    print(a)
    
  • 相关阅读:
    Linux服务下,设置开机自启动服务
    [知识分享] 实用且具有参考意义的博客网站
    [AutoHotKey] 自定义配置快捷键
    [driver] probe调用的时机
    [vscode] 常用快捷键
    [Linux] 双系统下linux自动挂载windows下的逻辑分区
    [Linux] manjaro中文输入法配置
    [Linux] gnome桌面顶栏透明效果
    [Linux] manjaro窗口按钮异常
    博客园简约主题设置
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/10237500.html
Copyright © 2011-2022 走看看