面向对象

举报
hacker707 发表于 2022/03/24 13:05:46 2022/03/24
【摘要】 前言🐒💖面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计思想。需要注意的是,与之对应的是面向过程编程思想。实际上,能够使用面向对象编程思想实现的程序,也都能通过面向过程完成。只是看哪种思想更适合当前开发需求💖==面向过程与面向对象区别==面向过程:根据业务逻辑从上到下写代码面向对象:将数据与函数绑定到一起,进行封装。减少重复代码的重写过程...

前言🐒
💖面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计思想。
需要注意的是,与之对应的是面向过程编程思想。实际上,能够使用面向对象编程思想实现的程序,也都能通过面向过程完成。只是看哪种思想更适合当前开发需求💖
在这里插入图片描述

==面向过程与面向对象区别==
面向过程:根据业务逻辑从上到下写代码
面向对象:将数据与函数绑定到一起,进行封装。减少重复代码的重写过程

@TOC

面向对象概念及术语

概念 描述
类(Class) 用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。其中的对象被称作类的实例。
对象 也称实例。通过类定义的初始化方法,赋予具体的值,成为一个"有血有肉的实体"。
实例化 创建类的实例的过程或操作。
实例变量 定义在实例中的变量,只作用于当前实例。
类变量 类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
数据成员 类变量、实例变量、方法、类方法、静态方法和属性等的统称。
方法 类中定义的函数
静态方法 类方法是将类本身作为对象进行操作的方法。
方法重写 如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写,这个过程也称override。
封装 将内部实现包裹起来,对外透明,提供api接口进行调用的机制
继承 即一个派生类(derived class)继承父类(base class)的变量和方法。
多态 根据对象类型的不同以不同的方式进行处理。

类与对象介绍


类是抽象的概念,仅仅是一个模板。用于,描述具有相同属性和方法的对象的集合。比如"编程语言"是一个类
类的构成

类由3个部分构成
类的名称:类名
类的属性:一组数据
类的方法:允许对类进行操作的方法

类的定义
python中使用class关键字来定义类
💡类名通常采用驼峰式命名方式,尽量让字面意思体现出类的作用💡

class 类名:

对象(实例)
某一个具体事物的存在,在现实世界中可以是看得见摸得着的。比如"python"就是一个对象
创建对象(实例化对象)
python中,可以根据已经定义的类去创建一个个对象
创建对象的格式:

对象名 = 类名()

class LagicStudents(object):
    def study(self, language):  # 实例方法有一个参数self,指的是实例对象
        print(language)


l1 = LagicStudents()
l2 = LagicStudents()

通过一个类可以创建无数个对象,每个对象在内存中都会开辟新的空间
✅调用类中的实例化对象
①使用 对象名.方法名(参数) 调用的方式,不需要传递self。
②使用 类名.方法名(self, 参数) 的方式,不会自动给 self 传参,需要手动的指定self。

class LagicStudents(object):
    def study(self, language):  # 实例方法有一个参数self,指的是实例对象
        print(language)


l1 = LagicStudents()
# 通过对象名.方法名(参数)调用
l1.study('python')

# 通过类名.方法名(self,参数),需要手动传参
LagicStudents.study(l1, 'python')

💡举个栗子💡
✦创建类:学生类
✦创建对象:居然
✦在类中定义方法输出:居然学习python

class LogicStudents:
    def study_python(self):
        print("居然学习python")


jr = LogicStudents()  # 实例化的过程
jr.study_python()  # 通过对象.方法()去调用类中的方法

类与对象的关系
✦类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。
✦使用同一个类,能够创建出很多对象。
✦类中定义了什么属性和方法,对象中就有什么属性和方法。
✦不同对象对应的属性值也会不同。

总结:
✦创建对象的过程就是实例化
✦通过对象.方法()调用类中的方法

✅self参数

self表示当前对象
self并不是一个关键字,其实可以是任意的标识符,为了表达代表的是当前对象自己,习惯使用self表示
调用实例函数的时候,self不需要手动传参,系统会自动传递当前的对象
哪个对象调用了方法,方法里的self指的就是谁。
通过 self.属性名 可以访问到这个对象的属性。
通过 self.方法名() 可以调用这个对象的方法。

类中的成员

类属性
✅访问的两种方法
①通过类名.属性名访问
②通过实例对象.属性名访问

class LogicStudents():
    students_num = 100  # 类属性


sn = LogicStudents()

print(LogicStudents.students_num)  # 通过类名.类属性访问
print(sn.students_num)  # 通过实例对象.类属性访问

以上就是python基础教程之面向对象初识,如果有改进的建议欢迎在评论区或者私信留言奥~
💖人生苦短,我用python💖
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。