Python入门到精通(八):面向对象

一、面向对象简介

面向对象(OOP)是一种对现实世界理解和抽象的方法,对象的含义是指在现实生活中能够看得见摸得着的具体事物,一句比较经典的描述是一切皆对象,Python 是一门面向对象的语言,面向对象编程简单来说就是一种封装代码的方式。

1、面向对象相关概念

  • 类:描述具有相同属性和方法的集合,简单来说就是一个模板,通它来创建对象。

  • 对象:类的实例。

  • 方法:类中定义的函数。

  • 类变量:定义在类中且在函数之外的变量,在所有实例化对象中公用。

  • 局部变量:方法中定义的变量,只作用于当前实例。

2、面向对象三大特性

  • 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,提高复用性和安全性。

  • 继承:一个类继承一个基类便可拥有基类的属性和方法,可提高代码的复用性。

  • 多态:父类定义的引用变量可以指向子类的实例对象,提高了程序的拓展性。

二 、类属性和类方法

2.1类属性

  • 定义在类里面,方法外面,定义的时候不需要self关键字,语法类似于定义普通变量

  • 不需要把类实例化为对象,直接通过类名.属性名 使用 

2.2类方法

  • 类方法不需要把类实例化为对象,通过类名.类方法名调用

  • 用@classmethod来修饰的方法,就是类方法

  • 类方法的参数为 cls,在类方法内部通过 cls.类属性 或者 cls.类方法 来访问同一个类中的其他类属性和类方法;

  • 类方法不需要实例化就可以调用,类方法只能访问同一个类中的类属性和类方法。

  • 类方法的一个参数是cls(不是self)

  • 在类方法内部如果使用类属性, cls.类属性名

  • 类方法内部不能使用普通属性,也不能调用普通方法

    • 因为类方法不需要对象的,但普通方法和普通属性一定需要通过对象调用

三、面向对象简单实现

定义类的格式

2.1 类

# 定义一个类
class StuInfo():
    # 定义属性
    age = "10"
    addr = "hebei"
    name = "tom"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值