zoukankan      html  css  js  c++  java
  • 第十六、十七天,关于面向对象

    ---恢复内容开始---

    首先这两天接触到了class这个词,格式如下

    class Person:                   #类的开头字母要大写

      静态变量 = '值'                 #这个变量是共用的

      def  __init__(self):

        内部属性

    调用的时候,先看内部属性是否有,若无则去静态变量里面找

    当需要让class中的函数改变静态变量的值时,需要用类名.变量名称的方法,如:

    class Person:                  

      money = 0             

      def  __init__(self,name):

        self.name = name

        Person.money  += 10000

    或者可以这样:

    class Person:                  

      money = [0]             

      def  __init__(self,name):

        self.name = name

        Person.money[0]  += 10000    #注意此处的Person.money[0]的0是索引,而上面的money[0]是list中的元素0

    这样就可以实现对静态变量的改变。

    此处涉及命名空间以及作用域的问题,用图片说明最为直观。如下程序

    class Person:                  

      money = 0             

      def  __init__(self,name,age,sex):

        self.name = name

        self.age = age

        self.sex = sex

      def  speak(self):

        print('balabala')

        

    有点丑但起码表明了关系。

  • 相关阅读:
    用Visual Studio2010 编译 C++文件"hello world”
    hdu 1010 Tempter of the Bone(dfs+奇偶剪枝)
    最长子串(动态规划)
    C++中,访问字符串的三种方法
    POJ3260:The Fewest Coins(混合背包)
    如何做好基层技术管理工作?
    UVa10651(记忆化搜索)
    <Win32_5>深入浅出Win32的计时器
    【转载】一步一步写算法(之hash表)
    C可变参数函数 实现
  • 原文地址:https://www.cnblogs.com/ylx900/p/8796336.html
Copyright © 2011-2022 走看看