面向对象——类与对象

一,类和对象

面向过程和面向对象的编程

面向过程的编程:函数式编程,c程序等

面向对象的编程:C++,Java,Python等

类和对象:是面向对象中的两个重要概念

类:是对事物的抽象,比如:汽车

对象:是类的一个实例,比如:红旗汽车

说明

汽车模型可以对汽车的特征和行为进行抽象,然后可以实例化为一台真是的汽车实体出来。

类的组成:由变量和函数组成

变量:类中的变量称为“成员变量”

函数:类中的函数称为“成员函数”

对象的创建:

>>>myClass = MyClass()     #创建类的一个实例

对象的组成:

对象由实例化后得到,所以也是由变量和函数组成

二,Python类定义

Python类的定义:

使用class关键字定义一个类,并且类名的首字母要大写

类里面包含了变量和方法,这种包含称之为“封装”

Python类的结构:

>>>class Myclass

>>>变量定义

>>>函数定义

>>>······

三,类的属性

类由属性和方法组成,类的属性是对数据的封装,类的方法则是对类的行为的封装。

类的属性分为:

公有属性:在类中和类外调用的属性

内置属性:由系统在定义类的时候默认添加的,由前后两个下划线构成

_dict_,_module_

dir()__dict_查看类,实例对象不同的显示结果

私有属性:不能被类以外的函数调用

可以通过instance._classname_attribute方式访问,但只用于调试程序

定义方法:以“_”双下划线开始的成员变量及时私有变量,否则是公有变量

说明

Python的属性分为实例属性(对象属性)和静态属性(类属性)两种。

实例属性:是以self作为前缀属性,实例属性定义在_init_方法中。如果_init_中的变量没有self,则变量只是一个普通的局部变量。

例如:

class Myclass:
    var1 = 0  # 类属性
    def_init_(self):
        self.var2 = 0  #实例属性
        Var3 = 0       #局部变量

类的属性:可以被类,以及实例对象访问,定义在类中的变量都是。

类的尾部不能直接访问私有属性,私有属性只能被类本身所访问。

类的方法

方法的定义:

和函数定义一样,但是需要self作为一个参数

类的方法分类

私有方法:不能被外部的类和方法调用,私有方法的定义和私有属性的定义都是一样的,在方法的前面加上“_”双下划线就可以了。

类方法:被classmenthod()函数处理过的函数,能被类所调用,也能被对象所调用(是继承的关系)。

静态方法:相当于“全局函数”,静态方法没有“self”语句。

self参数

用于区分函数和类的方法,self参数表示指向对象本身。

如有错误请在下方评论或私信我。

发布了40 篇原创文章 · 获赞 42 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44762986/article/details/104152385