python 基础系列15-面向对象

# python 基础系列15-面向对象

# 引入sys库
import sys
import copy
from functools import reduce
import os

import pickle
import re


class A:
    def __init__(self):
        self.num = 1
        print('这是A类........')

    @classmethod
    def func(cls):
        print('父亲很有钱')

    def fun2(self):
        print('父亲的方法')


class B(A):
    pass


class C(A):
    def __init__(self):
        self.name = 2
        print('C子类的构造函数')

    def fun2(self):
        print('子类给重写')


class D(B, C):
    def __init__(self):
        self.name = 2
        print('D子类的构造函数')

    def __call__(self):
        print('内建函数')

class F():
    def __init__(self):
        print('init...')
    def __del__(self):
        print('del....')

    def __new__(self):
        print('new.....')
        return super(F,self).__new__(self)

if __name__ == '__main__':
    print('----面向对象----')
    # 继承 B 继承 A类
    B.func()
    print(B.__bases__)  # (<class '__main__.A'>,)

    # 如果子类没有构造函数 会继承父类的
    b = B()

    # 子类有构造函数
    c = C()
    print(c.name)

    # 多继承 多继承的话,构造器继承是从左到右
    d = D()

    # 多态 就是重写父类的方法
    c.fun2()
    print(isinstance(c, A))
    # print(isinstance(a,A))
    print(isinstance(c, C))

    # 其他类中的构建函数 call函数 ,del函数 new函数  init函数
    #call函数
    d()

    #del函数
    f = F()
    del f #这是删除函数,删除掉实例对象,默认我们不需要重写
    #new 函数 是最先执行 然后是init再执行,最后是del执行
    
    #slots 函数 限定一个类的成员变量,指定了范围写死

猜你喜欢

转载自blog.csdn.net/qq_31866793/article/details/104403795