面向对象

一.面向对象

 

什么是面向对象?

面向对象Object Oriented Programming,简称OOP,是一种程序设计思想。

对象是程序的基本单元

将数据和处理数据的程序封装到对象中

以提高软件的重用性、灵活性和扩展性为首要目的

 

优点 : 

    1.扩展性

    2.灵活性

    3.重用性

缺点:

    1.程序的复杂度提高

    2.结果具有不确定性

 

使用场景:

  ·  对扩展性要求较高的程序 ,通常是直接面向 用户的

 

二.类与对象

 

类:把一系列共同属性和行为抽象的集合

对象:具体存在的,具备自己属性和行为的结合体

 

对象是类的实例化

对象属于类,生活中先有对象后有类,程序中先有类后有对象

 

类的语法

class 类的名称:
    #描述属性用变量
    #描述行为用函数 
View Code

 

创建对象的语法

class Person:
    pass

#创建对象 
p = Person()
View Code

 

属性可以写在类中当公共属性,也可以写在对象里当私有属性

类中和对象中存在同样的属性,先访问对象 如果没有在访问类

 

属性的增删改查

增加属性 
对象变量名称.属性名称 = 属性值

删除属性
del 对象的变量名称.属性名称 

修改 
对象.属性 = 新的值 

查看属性  访问的是对象的所有属性 
print(对象.__dict__)

访问对象的类信息
print(对象.__class__)
View Code

 

初始化方法

叫做初始化方法,本质上就是一个函数

特点1: 当实例化 对象时,会自动执行init方法

特点2:会自动将对象作为第一个参数传入,参数名称位self ,self可以是别的名字,但不建议改

功能:用户给对象赋初始值

class Student :

    def __init__(self,name,age):

        self.name = name
        self.age =age
        
    @staticmethod
    def say_hi():

        print('hello,my name is ')

s1 = Student('kevin', 18)
View Code

 

 

对象的绑定方法

默认情况下类中的方法都是对象绑定方法

使用对象调用该函数时,会自动传入对象本身,作为第一个参数

当通过类名来调用时,就是一个普通函数,有几个参数就得传几个参数

 

类绑定方法

类绑定方法用@classmethod来装饰

特殊之处:不管用类还是对象调用,都会自动传入类本身,作为第一个参数

 

非绑定方法:

又叫静态方法,就是即不需访问类的数据,.也不需要访问对象的数据

语法:@staticmethod    不常用

 

 

 

                                                                                                      

 

posted @ 2019-07-24 21:55  Tri_stone  阅读(128)  评论(0编辑  收藏  举报