zoukankan      html  css  js  c++  java
  • 初始面向对象

    什么是对象:

      万物皆是对象,是类的具体体现

    在Python中所有数据类型都是一个对象.

    对象的特点:

        1.属性

        2.行为

        3.封装一个整体

    面向过程与面向对象:

        面向过程:解决问题的过程的思路.

          1.分步骤划分

          2.把一个任务分步骤完成

        面向对象:解决问题关注的是解决问题的对象.

          1.按对象划分

          2.确定对象的属性和行为

    对象是过程的封装

    什么是类:

      类是具有相同属性或者功能的一类实物

    类的定义:

    class A:
        name = 'alex' # 静态属性,静态变量,静态字段
        def func1(self): # 函数:动态属性,方法
            pass
    

      类名的使用

    1.查看类所有属性的方法__dict__

    2.查看(增删改)类中的某个,某些属性,某个方法,用万能的 .

    3.操作方法,通过类名调用函数操作

    class Person:
        animal = '高级动物'
        walk_way ='直立行走'
        language = '语言'
        def __init__(self,name,age,eye):#功能:给对象封装属性
            self.name = name
            self.age = age
            self.eye = eye
    	def set(self):
    		pass
    	def work(self):
    		pass
    print (Person.__dict__)
    print(Person.__dict__['animal'])#通过__dict__单独的属性及方法可以查但是不能增删改
    #工作中,学习中一般用到__dict__查看类中的所有属性及方法,不进行其他操作.
    #2.查看(增删改)类中的某个,某些属性,某个方法,用万能的 '.'
    print(Person.animal)
    Person.name = 'alex'#增加属性
    Person.animal = '低级动物'#改属性
    del Person.walk_way #删
    #3.操作方法 一般不通过类名操作
    Person.work(666)
    

     对象:

    实例化内部进行了三个阶段:

    1.在内存中开辟一个对象空间

    2.自动执行类中的__init__方法,并且将对象空间传给self参数,其他参数手动传入

    3.执行__init__方法,给对象空间封装相应的属性.

    class Person:
    	animal = '高级动物'
    	walk_way ='直立行走'
        language = '语言'
        def __init__(self,name,age,eye):#功能:给对象封装属性
            self.name = name
            self.age = age
            self.eye = eye
    	def set(self):
    		pass
    	def work(self):
    		pass
    obj = Person()#这个过程是一个实例化过程,他会实例化一个对象(他会在内存实例化一个对象空间)
    #对象操作对象空间
     #对象查看对象空间所有的属性 __dict__
    print('obj.__dict__')
        #对象操作对象的某个属性,增删改查 万能的 .
        obj.sex = '男'#增
        del obj.eve1#删
        obj.eve1 = '发的'#改
    #对象操作类空间的属性
    prin(obj.animal)
    obj.animal = '低级动物'#在对象里边增加一个animal
    #对象操作类空间的方法
    obj.eat()

      类名称空间,对象名称空间

    #公用的模板,公共框架
    class GameRole:
    	rule = '游戏规则'
    	def __init__(self,area,nickname,hp,ad,):
            self.area = area
            self.nickname = nickname
            self.hp = hp
            self.ad = ad
         def attack(self):
            print('dsfsd')
            
    gailun = GameRole('德玛西亚','草丛伦',1000,75)#对象
    #对象为什么能调用类中的属性与方法只是调用不是改变
    obj.属性名 先从自己空间去找,没有此属性他会通过类对象指针从类去找,找不到,会从父类去找
    对象只能查看类中的属性,不能增删改
    #类能不能调用对象的属性
    不能
    #对象与对象之间能不能互相调用
    同一个类实例化出来的对象之间是不能互相访问的
    不同类实例化的对象有可能互相访问
    
    #给对象封装属性:__init__ 任意位置
    
    	
       
    

      

  • 相关阅读:
    《TCP/IP网络协议基础》笔记
    《MySQL基础知识》笔记
    tc。数组的定义。
    tc。单等号,双等号的作用。
    tc。用浏览器加载gif图片。
    tc。做无界面的程序。
    做馒头一斤面放多少水。
    用笼屉蒸馒头好吃,还是用蒸柜蒸馒头好吃。上汽的大小。
    千层馒头的制作。
    馒头店,普遍是开在菜市场附近。
  • 原文地址:https://www.cnblogs.com/buchiyudeyang/p/9525917.html
Copyright © 2011-2022 走看看