• python 中的类


    1.1 类里面包括:类的属性、方法

    OO的特征(Object Oriented)

    封装:信息隐蔽技术

    继承:继承是子类自动共享父类之间数据和方法的机制

    >>> class MyClass(list):
        pass
    >>> list1.append(4)
    >>> list1.append(3)
    >>> list1.append(7)
    >>> list1
    [4, 3, 7]
    >>> list1.sort()
    >>> list1
    [3, 4, 7]

    多态:不同对象对同一方法响应不同的行为

     

    OOA:面对对象分析

    OOP:面对对象编程

    OOD:面对对象设计

    对象的方法中都有一个self的参数,相等于C++的this 指针

      由一个类可以生成无数的对象,这些对象都长的基本一样,当一个对象的方法被调用的时候,对象会将自身(self)作为第一个参数,接收到这一个参数的时候,Python的类就知道是哪一个对象在调用方法了

      

    class Ball:
        def SetName(self,name):
                self.name = name
        def  kick(self):
                print('我是%s,你踢我干嘛!',self.name)

     

    执行之后的结果:

    >>> a.Kick()
    我是球A,你踢我干嘛!
    >>> b.Kick()
    我是球B,你踢我干嘛!
    >>> c.Kick()
    我是球C,你踢我干嘛!

    1.2 python中的魔法方法:

      python的对象天生拥有一些神奇的方法,他们是面对对象的python的一切,他们是可以给你的类增加魔力的特殊方法,如果你的对象实现了这些方法中的某一个,这个方法就会在特殊的情况下被python所调用,而这一切都是自动发生的。

     这些具有魔力的方法都是以双下划线定义:

    __init__(self):构造方法 ,该方法的魔力在于,实例化一个对象的时候,那么这个方法会在这个对象创建的时候调用(c++中的构造函数,)进行初始化操作

    1.2.1 公有私有

    默认的情况下类中的属性和方法都是公有的,都是可以通过点操作符来进行访问

     为了实现类似私有变量的特征,python内部中采用一种name mangling(名字改编,名字重整)

    在Python中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会私有的了。

    class Person:
        _name = '小甲鱼'

    可以通过类内的方法来进行访问

    实际上是对变量作了手脚

    将变量名改成了

    _类名__变量名

    所有上面的person类中的私有变量可以通过以下方法访问到:

    >>> p = Person()
    >>> p._Person__name
    '小甲鱼'
    >>> 
  • 相关阅读:
    pygame各个模块概述
    安装pygame
    pygame系列
    把字符串转换成整数
    不用加减乘除做加法
    求1+2+3+...+n
    孩子们的游戏(圆圈中最后剩下的数)
    翻转单词顺序列
    左旋转字符串
    和为s的两个数字
  • 原文地址:https://www.cnblogs.com/hai5111/p/9612990.html
Copyright © 2020-2023  润新知