• python面向对象编程(1)——基本概念,术语,self,构造器


    1  python面向对象命名规范

    类名通常由大写字母打头。这是惯例标准。

    数据值应该使用名词作为名字,方法使用动词加对象的方式,若使用混合记法,则方法名的第一个字母首字母小写,后面的单词的首字母大写。若使用骆驼记法,则方法名的组成单词之间用下划线连接。


    2  相关术语

    抽象/实现:建模,包括数据属性和数据的接口。

    封装/接口:描述了对数据/信息进行隐藏的观念,它对数据属性提供接口和访问函数。

    合成

    派生/继承/集成结构

    泛化和特化


    3  实例属性 和 类属性

    不同于C++和Java,Pthon的实例属性可以在实例创建后的任意时间进行,也可以在能偶访问实例的代码中进行。__init()__是设置这些属性的关键点之一。

    • 在构造器中首先设置实例属性
    • 默认参数提供默认的实例安装(对方法的参数设定默认值)

    __init()__应当返回None。


    类属性仅是与类相关的数据值,和实例属性不同,类属性和实例无关。这些属性就像静态成员那样被引用,即使在多次实例化中调用类,它们的值都保持不变。即,类和实例都是名字空间,类是类属性的名字空间,实例则是实例属性的名字空间。


    若修改类属性,则会影响之后所有创建的实例的属性,但不会影响之前创建的实例。


    任何一个方法定义中的第一个参数都是变量self,它表示调用此方法的实例对象。必须在方法声明中放上self,但可以在方法的使用中不使用self。

    对于类方法而言,需要类而不是实例作为第一个参数,它是由解释器传给方法。


    4  如果需要,每个子类最好定义它自己的构造器,不然,基类的构造器会被调用。

        如果子类重写了构造器,则如果仍想执行基类的构造器,就需要显示地在子类的构造器中写出。



  • 相关阅读:
    C#多线程的简单理解
    CSS中图片水平垂直居中方法小结
    浅析JavaScript的prototype
    记kkpager分页控件的使用
    面试必问的 volatile
    观察者模式——从JDK到Spring
    Java 内存模型都不会,就敢在简历上写熟悉并发编程吗
    工厂模式,就这一篇搞定
    JVM解毒——类加载子系统
    JVM解毒——JVM与Java体系结构
  • 原文地址:https://www.cnblogs.com/suzhou/p/3638979.html
Copyright © 2020-2023  润新知