• python——面向对象


    面向对象:

    1)是一种抽象(用分类的眼光看事物)。

    2)两个基本概念:类(定义一件事物的抽象特点)对象(类的实例)

    3)eg:coder(class)->张三(object)

    面向对象的基本要素:定义类的属性和方法

    1)属性:coder(name,sex,height,weight,salary....)

    2)方法(功能):coding,repair computer...

    类的特性:

    1)封装:用户只知道如何使用这个类,不需要知道这个类是如何实现的。程序把实现的过程封闭起来就叫做类的封装。

    2)继承:coder->后端coder->c、java、python coder,子类获得父类所有的功能。

    3)多态:有继承才有多态。eg. Python coder 既是后端coder也是coder,若coder里面定义了一个write功能,只要是coder类或者子类,都会调用write。这就是多态。

    继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写。

     

              

    内建函数:

    1)dir():返回对象的属性

    2)Type():获取对象类型

     

    访问控制之变量说明:

    XXX:谁都可以访问

    _XXX:外部可访问,但是请视为私有变量,不要随意访问

    __XXX:外部不可访问,私有变量,要访问有方法(实例名._类名__XXX,见eg)

    __XXX__:特殊变量,可直接访问。

    总结:不提供私有属性,全靠自觉。

    附网上摘抄小段子(有点污哈哈哈):

     

    但是python仍然可以用实例名._类名__girl强上贞女

     

    Coding && Result:

     

     

     

    Coding && Result: 

     

    定义类的方法:

    1)@classmethod:调用的时候用类名,而不是某个对象

    2)@property:像访问属性一样调用方法

    Coding && Result:

     

    继承:

    Coding && Result:

     

  • 相关阅读:
    SQL游标的小知识
    SQL游标的小知识
    SQL游标的小知识
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    为什么程序员发现不了自己的BUG
    ACM1998
    Leetcode 946. Validate Stack Sequences 验证栈序列
  • 原文地址:https://www.cnblogs.com/Darlene/p/7593116.html
Copyright © 2020-2023  润新知