返回

Python__23--对象

发布时间:2023-02-11 10:45:44 246
# 数据# 信息

1 什么是对象?

对象(Object)是一个应用系统中的用来描述客观事物的实体,是有特定属性和行为(方法)的基本运行单位。是类的一个特殊状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有自己标识的任何东西,可以概括来说: 万物皆对象。

2 面向对象的三大特征

封装、继承、多态

2.1 封装:

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

提高程序的安全性在方法内部对属性进行操作,在类对象的外部调用方法。无需关心方法内部的具体实现细节,从而隔离了复杂度。

2.1.1 君子协议

伪私有属性,君子协议不希望在类对象外部被访问,却可以强制访问

2.1.2 伪装

使用__双下划线伪装

def __init__(self,name,age):
sef.name=name
self.__age=age


2.1.3 强制访问

通过print(dir(实例对象名))查找属性名,后强制访问

2.2 继承:

面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。

目的:提高代码的复用性。

2.2.1 继承实例

class Person (object):
def __init__(self,name,age):
self.name=name
self.age=age
class Student(Person):
def __init__(self,name,age,no):
super().__init__(name.age):
self.stu_no=stu_no
class Student(Person):
def __init__(self,name,age,teacheryear):
super().__init__(name.age):
self.teacheryear=teacheryear
stu.info()
teacher.info()



2.2.2 方法重写

对父类的方法不满意,可在子类中对方法体重写。

def info(self):           #重写
super().info() #调用父类方法
print('学号:{0}').format(self.score)


2.2.3 object类

object类是所有类的父类,因此所有类都有object类的属性和方法。

如内置函数dir()可以查看指定对象所有属性

如object有一个__str__()方法,用于返回一个对于“对象的描述”,对应于内置函数str()经常用于print()方法,帮我们查看对象的信息,所以我们经常会对_str_()进行重写

Python__23--对象_多态

2.3 多态:

多态指同一个实体同时具有多种形式。同字面意思,及一个对象在不同的情况下会有不同的体现。

提高程序的可扩展性和可维护性,动态语言只关心类中有没有这个方法,有就可以执行,不关心父子关系

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
速度快高匿又稳定的HTTP代理? 2023-02-11 10:23:59