建设网站的结束语,中云建设集团网站,网站建设栏目结构表,海南注册家族公司条件一、查缺补漏
1. 实例方法必须用类实例化对象()来调用#xff0c;用类来调用时会执行#xff0c;但是self中不是实例化类地址而是传的字符串
二、类中的方法
1. 实例方法
1. 定义在类里面的普通方法(函数)
2. 第一个参数必须是类实例#xff0c;在方法调用的时候会自动…一、查缺补漏
1. 实例方法必须用类实例化对象()来调用用类来调用时会执行但是self中不是实例化类地址而是传的字符串
二、类中的方法
1. 实例方法
1. 定义在类里面的普通方法(函数)
2. 第一个参数必须是类实例在方法调用的时候会自动传递这个参数名称可以随便定义默认self
3. 类内部self.方法名称()
4. 类外部实例.方法名称() 2. 类方法
1. 定义在类中通过classmethod修饰的普通方法就叫类方法
2. 第一个参数为当前类这个参数的名称可以随便定义默认使用cls定义但是用self调用
3. 类内部self.方法名称()
4. 类外部类.方法名称() 和类实例.方法名称() 3. 静态方法不需要传任何参数自己可以定义参数不用写self参数其他和类方法一致
1. 定义在类中通过staticmethod修饰的普通方法就叫静态方法
2. 默认无需传任何参数
3. 类内部self.方法名称()
4. 类外部类.方法名称() 4. 私有方法 私有的函数体
1. 双下划线开头的方法就叫私有方法
2. 传参无区别和普通方法一致
3. 类内部self._ _方法名()
4. 类外部不允许访问可以强行访问但是最好不用
5. _函数名,_ _函数名_ _方法和属性就算不是私有的也不要在外部去访问可能是开发预留之后要用到的 5. 总结
1. 实例方法一般要实现某些功能用实例方法常用
2. 类方法类没有初始化方法也不需要初始化的时候传任何参数进来只传self不想去实例化类时候用
3. 静态方法类没有初始化方法也不需要初始化的时候传任何参数进来不用传self也不用去实例化类
4. 类方法和静态方法的使用一般是在需要运算出结果时但又不需要实例化类时使用
5. 私有方法在类的内部使用不希望被外部使用类里面某些方法的辅助方法用于封装
三、类的特性继承、封装、多态 所有类统一都继承的类叫基类object默认继承
1. 一些概念
1. 什么继承子类继承父类就能直接使用父类的属性和方法(私有属性和方法除外) 继承过来之后就可以访问属性
2. 什么是封装隐藏实现细节只对外提供某些功能
3. 什么是多态还没讲
2. 单继承--自动化不用
1. 写法class 新函数名(要继承的函数名) 2. 初始化子类初始化之后会自动去调用初始化方法如果子类没有初始化方法会去父类找初始化方法去执行
子类有先用子类的没有用父亲的 3. 子类调用自己的方法子类和父类有同名的方法和属性优先使用子类自己的方法和属性
子类没有实现某个方法他会去父类找找到了就执行父类的方法
查找顺序调用时先找子类之后找父类 4. 子类直接调用父类的方法 super().父类方法名() 子类和父类都有但是想用父类的
查找顺序图1先查找父类在执行子类图2只查找父类父类中没有的会报错 普通方法、初始化方法(__init__)有区别在多继承时单继承无区别
父类名称().__init__() 多继承会导致重复支持父类的初始化方法单继承也会调用两次
super().__init() 调用父类方法推荐使用
5. 继承的使用场景
1. 拓展父类的功能在父类和子类同名方法时 2. 重写父类【父类和子类同名方法】 6. 需要使用父类方法避免重实现
7. 继承之后对父类方法的修改原则
1. 父类已经实现的功能不要去修改父类的方法【不要做】
2. 如果需要你可以对父类方法进行功能拓展【可以做】