Python中面向对象的用法

面向对象

(Object Or’iented Programming)OOP:面向对象就是一种分类的过程

类和对象:

1、面向对象是编程的一种方式,需要"类"和"对象"实现,也就是说面向对象就是对“类” 和 “对象” 的使用。
2、类是用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类:静态的属性
方法
对象:类的一个实实在在的案例

class ClassName:
<xxxx1>
.
.
.
<xxxxN>

类有一个为 init() 的特殊方法(构造方法),该方法在类实例化时会自动调用
例如:

class Complex:
def __init__(self, realpart, imagpart):
    self.r = realpart
    self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5

python中用class关键字来定义一个类,然后再创建一个对象
self关键字能让类中的函数能够明确的引用对象的数据和函数,指的是类对象的对象的属性

每个对象都有一个其自己的所对应的属性

例如:用面向对象求矩形的周长和面积

面向对象的编程语言有三个特征:
1.封装
2.继承
3.多态

  • 封装

将属性私有化,提供公开的方法来设置和访问
Python三种封装写法:
(1).常规写法
将属性私有 __属性名称
(2).调用全局函数property,将set和get传递过去
对象.属性名称
(3).使用annotation(注解)property来二次封装(注意:此处存在一个伪重载)

  • 继承(extend):

类似于java private 表示除了类本身,其他的都不能访问
类似于java protected 表示除了本身,子类也允许访问

多态:
父类引用指向子类实例的现象,叫做多态
python是弱数据语言,而弱数据类型语言天生支持多态

函数的重载(overload)
函数名称相同,参数的个数或类型不同
注意:python中没有函数重载,因为python弱数据类型语言

函数的重写/覆盖(override)
说的是面向对象继承中,子类继承了父类的方法,但不满足子类的需求
从而重新覆盖父类的方法的现象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值