面向对象(面向对象;简称OO)尚未有统一的概念. 我在这里定义如下: 根据人们理解客观世界的系统思维方式,基于对象(实体)的概念构建模型以模拟客观的方法来分析,设计和实现世界上的软件
面向对象编程(OOP)是解决软件重用的一种设计和编程方法. 该方法以类的形式描述了软件系统中类似的操作逻辑,操作应用程序数据和状态,并以对象实例的形式在软件系统中重用,从而提高了软件开发的效率.
1. 面向对象的理解:
面向对象是一种设计思想
1. 符合人们的思维习惯
2. 将执行者变成指挥官
3. 简化功能并简化复杂的事情
面向对象具有三个主要特征:
1. 封装
2. 继承
3. 多态性
2. 类和对象
面向对象编程的两个非常重要的概念: 类和对象
对象是面向对象编程的核心. 在使用对象的过程中,为了抽象地定义一组具有共同特征和行为的对象,提出了另一个新概念-
该类等效于制造飞机时的图形,并且使用该类创建的飞机等效于对象
The
class是对事务的描述,是抽象的.
对象是类的具体体现.
人们按聚类划分成组.
具有相似内部状态和运动定律的实体(或统称为抽象)的集合.
具有相同属性和行为的事物的总称
类是抽象的. 使用它们时,通常会找到此类的特定存在并使用该特定存在. 一堂课可以找到多个对象
4. 对象
在现实世界中可以看到并触摸到特定事物的存在.
可以直接使用
类是用于创建对象的模板
6. 班级组成班级(班级)由3部分组成
·班级名称: 班级名称
·类属性: 一组数据成员变量
类方法: 允许操作方法(行为)成员方法
示例:
1)人为设计,只关心三件事:
·事物名称(类名): 人(Person)
·属性: 身高(身高),年龄(年龄)
·方法(行为/功能): 运行(运行),战斗(战斗)
2)狗的设计
·班级名称: 狗(狗)
·属性: 品种,外套颜色,性别,名称,腿数
·方法(行为/功能): 叫,跑,咬,吃,甩尾
如何将日常生活中的事物抽象为程序中的类?
具有相同(或相似)属性和行为的对象可以作为类提取
以以下格式定义类:
演示: 定义汽车类
说明:
·定义类时,有两种类型: 新类和经典类. 上面的Car是经典类,如果它是Car(object),则它是新类
·类名的命名规则遵循“大骆驼峰”
1. 创建对象
在上一课中,定义了Car类;就像有图纸的汽车一样,然后应将图纸移交给建造者以生成
在Python中,您可以根据定义的类创建单个对象
创建对象的格式为:
对象名称=类名称()
创建对象演示
#definition类
classCar:
#Mobile
删除(自己):
print('汽车在行驶...')
#哨声
deftoot(自己):
print(“汽车在吹哨... dudu ...”)
#创建一个对象,并使用变量BMW保存其引用
宝马= Car()
BMW.color ='黑色'
BMW.wheelNum = 4#车轮数
BMW.move()
BMW.toot()
打印(BMW.color)
打印(BMW.wheelNum)
摘要:
·BMW = Car(),以便生成Car实例对象,这时您还可以通过实例对象BMW访问该属性或方法
·第一次使用BMW.color ='black'意味着向BMW对象添加属性. 如果稍后再次出现BMW.color = xxx,则意味着修改属性
·BMW是一个对象,它具有属性(数据)和方法(功能)
·创建对象时,使用模具制作物理对象
2 .__ init __()方法
创建对象时,请顺便设置汽车对象的属性
__ init __()方法
在Java中称为构造方法
创建Car对象时,默认情况下,宝马具有2个属性wheelNum和color而不调用__init __()方法,因为__init __()方法是在创建对象后立即默认设置的.
考虑一下
由于创建对象后默认已执行__init __()方法,因此在调用__init __()方法时可以向对象传递一些参数吗?如果是这样,该如何继续下去?
创建对象时默认调用_init __()方法,无需手动调用
在__init __(self)中,默认情况下有1个名为self的参数. 如果在创建对象时传递了2个实际参数,则__init __(self)要求2作为第一个形式参数. 形式参数,例如__init __(self,x,y)
开发人员无需传递__init __(self)中的self参数,Python解释器将自动将当前对象引用传递给它.
1. 打印id()
如果您使用BMW进行打印面向对象oop,则会看到以下信息
2. 定义__str __()方法
·如果Python中的方法名称是__xxxx __()面向对象oop,则它具有特殊功能,因此称为“魔术”方法
·使用打印输出对象时,只要定义__str __(self)方法,就会打印从该方法返回的数据
4.self
运行结果:
·所谓的自我可以理解为自己
·您可以将self理解为C ++类中的this指针,这意味着对象本身
当对象调用其方法时,Python解释器会将对象作为第一个参数传递给self,因此开发人员只需传递以下参数即可
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-258518-1.html
已经翻了