用面向对象的思维解决问题的重点
当遇到一个需求的时候不用自己去实现,如果自己一步步实现那就是面向过程;应该找一个专门做这个事的人来做。
面向对象(object-oriented ;简称: OO) 至今还没有统一的概念 我们可以把它定义为: 按人们 认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,模拟客观世界分析、设 计、实现软件的办法。
面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。 这种方法把软件系统中相近相似的操作逻辑和操作 应用数据、状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。
类和对象的概念
类
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用;
特征被称为属性;
行为被称为方法。
对象
对象是由类创建出来的一个具体存在,可以直接使用;
由哪一个类创建出来的对象,该对象就具有在那一个类中定义的属性和方法;
类和对象的关系
类就是创建对象的模板,应该先有类,在有对象;
一个类可以创建多个对象,不同对象之间属性可能各不相同;
类中定义了什么方法,对象中就有什么属性和方法,不可能少,但可能多,因为对象可以自己在类外增加属性
定义简单的类
面向对象是更大的封装,在一个类中封装多个方法,这样通过这个类创建出来的对象,就可以直接调用这些方法了。
定义只包含方法的类
在python中药定义一个只包含方法的类,语法格式如下:
class 类名: def 方法1(self, 列表参数): pass def 方法2(self, 列表参数): pass
方法的定义格式和之前学习的函数几乎一样;
区别在于第一个参数必须是self;
注意,类名的命名规则要符合大驼峰命名法;
创建对象
当一个类定义完成后,要使用这个类来创建对象,语法格式如下:
对象变量 = 类名()
第一个面向对象程序
class Cat: """定义一个猫类""" def eat(self): print("小猫爱吃鱼") def drink(self): print("小猫要喝水") tom = Cat() tom.eat() tom.drink()
知识点扩展:
面向对象设计与面向对象编程的关系
面向对象设计(OOD)不会特别要求面向对象编程语言。事实上,OOD 可以由纯结构化语言来实现,比如 C,但如果想要构造具备对象性质和特点的数据类型,就需要在程序上作更多的努力。当一门语言内建 OO 特性,OO 编程开发就会更加方便高效。另一方面,一门面向对象的语言不一定会强制你写 OO 方面的程序。例如 C++可以被认为“更好的C”;而 Java,则要求万物皆类,此外还规定,一个源文件对应一个类定义。然而,在 Python 中,类和 OOP 都不是日常编程所必需的。尽管它从一开始设计就是面向对象的,并且结构上支持 OOP,但Python 没有限定或要求你在你的应用中写 OO 的代码。OOP 是一门强大的工具,不管你是准备进入,学习,过渡,或是转向 OOP,都可以任意支配。考虑用 OOD 来工作的一个最重要的原因,在于它直接提供建模和解决现实世界问题和情形的途径。
到此这篇关于python中什么是面向对象的文章就介绍到这了,更多相关python中什么是面向对象内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/188503/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)