zoukankan      html  css  js  c++  java
  • python全栈开发 * 18 面向对象知识点汇总 * 180530


    18 面向对象初识1
    class person:
    level="高级动物"
    mind="有思想"
    def __init__(self,name,age,gent,area,hobby):
    self.name=name
    self.age=age
    self.gent=gent
    self.area=area
    self.hobby=hobby
    print("__init__")
    pass
    def walk(self):
    pass
    def eat(self):
    pass
    aQ=person("Q","16","男","中国","吹牛")
    print(aQ.__dict__)
    一.类
    1.具有相同属性和技能的一类事物.
    2.类的结构( 两部分 )
    (1).静态变量 ( 字段 )
    level="高级动物"
    mind="有思想"
    (2).动态方法 ( 函数 )
    def __init__(self,name,age,gent,area,hobby):
    self.name=name
    self.age=age
    self.gent=gent
    self.area=area
    self.hobby=hobby
    print("__init__")
    pass
    def walk(self):
    pass
    def eat(self):
    pass

    3.类名调用变量,方法
    (1).类名查看类中所有变量( 字段 ),方法( 函数 )
    print(类名.__dict__) #类中所有的东西 属性方法 只能查不能增删改类中的东西.
    (2).类名查找静态变量 ( 字段)
    常用:通过类名.变量名
    查:print(person.mind)
    增:person.create="有创造力"
    改:person.mind="行尸走肉"
    删:del person.mind
    不常用:print(类名.__dict__[mind])
    (3).类名对方法的操作 ( 函数)
    常用 : 类名.方法名 (函数)
    person.walk( 参数 )
    不常用 : 类名.__dict__["walk"]

    二.对象.
    1.对象是类的具体表现.
    2.实例化对象
    写法: 类名 ( ) 相当于实例化一个对象
    3执行流程
    (1).产生一个对象空间 ; ( aQ=类名 ( ) aQ是一个对象空间 )
    (2).自动执行类中__init__方法,并将对象空间传给self; ( def __init__(self) 把aQ传给self )
    (3).执行__init__方法给对象加属性,并将完善的对象返回给类名.
    def __init__(self,name,age,gent,area,hobby):
    self.name=name #self.name 中 name 表示对象属性 等号右边的 name 指 形参
    self.age=age
    self.gent=gent
    self.area=area
    self.hobby=hobby
    print("__init__")
    4.对象查找对象中的所有属性
    print(aQ.__dict__)
    5.对象操作对象中的静态变量
    查:对象.name # print(aQ.name)
    增:对象.job="student" # aQ.job="stu"
    删:del 对象.age
    改:对象.gent="男"
    6.对象操作类中的静态变量 只能查询,不能增删改
    对象名.类中的变量(level) # print(aQ.level)

    7.对象执行类中的方法
    对象名.walk( ) # aQ.walk( ) # 无需传参数 self位置的参数,自动接收对象空间.

    补充:__init__叫构造方式,执行方法时也可以添加属性(临时)
    print("__init__")
    self.eye=eye
    在类的非__init__中也可以给对象添加属性,前提必须先执行这个方法
    def walk(self,skincolor)
    self.skincolor=skincolor


     
    
    
  • 相关阅读:
    为什么使用CWinApp类编译以后的文件会比CWinAppEx类小呢?
    遇到问题——IntelliSense: #error directive: Please use the /MD switch for _AFXDLL builds
    理解C++中复杂的指针声明
    运行没有错,但是窗口没有显示出来——Windows编程中的CreateWindow返回值为空?
    错误argument of type "char *" is incompatible with parameter of type "LPCWSTR"的解决方法
    游戏坐标和窗口坐标的变换公式
    一路风雨走过来:那些我亲密接触过的项目
    10 Fun Things to do with Tessellation
    irrlicht引擎:中文支持
    魔兽世界客户端数据研究(一)
  • 原文地址:https://www.cnblogs.com/J-7-H-2-F-7/p/9235734.html
Copyright © 2011-2022 走看看