当前位置:   article > 正文

python学习笔记-13.面向对象基础_过程是早期的一个编程概念 过程类似于函数,只能执行,但是没有返回值 函数不仅能执

过程是早期的一个编程概念 过程类似于函数,只能执行,但是没有返回值 函数不仅能执

面向对象

1. 基本概念

1.1 过程和函数

  • 过程:是早期的一个编程概念,类似于函数,只能执行,但是没有返回值
  • 函数:不仅能执行,还可以返回结果

1.2 面向过程和面向对象的基本概念

1)面向过程——怎么做?

  1. 把完成某一个需求的所有步骤,从头到尾逐步实现
  2. 根据开发需求,将某些功能独立的代码封装成一个又一个函数
  3. 最后完成的代码,就是顺序的调用不同的函数

特点

  1. 注重步骤与过程,不注重职责分工
  2. 如果需求复杂,代码会变得很复杂
  3. 开发复杂项目,没有固定的套路,开发难度很大。

2)面向对象——谁来做?
相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法。

  1. 在完成某一个需求前,首先确定职责-要做的事情(方法)
  2. 根据职责确定不同的对象,在对象内部封装不同的方法(多个)
  3. 最后完成的代码,就是顺序的让不同的对象调用不同的方法

特点

  1. 注重对象和职责,不同的对象承担不同的职责
  2. 更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
  3. 需要在面向过程基础上,再学习一些面向对象的语法

2. 类和对象的基本概念

类和对象是面向对象编程的两个核心概念。

2.1 类

是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。

  • 特征:被称为属性
  • 行为:被称为方法

例如,类就相当于制造飞机的图纸,是一个模板,是负责创建对象的。

2.2 对象

对象 是由类创建出来的具体存在,可以直接使用。
由哪一个类创建出来的对象,就拥有在哪一个类中定义的:

  • 属性
  • 方法

例如,对象就相当于用图纸制造的飞机
在程序开发中,应该先有类,再有对象

2.3 类和对象的关系

  • 类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象
  • 类只有一个,而对象可以有很多个,不同对象之间的属性可能会各不相同
  • 类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少

3. 类的设计

在使用面向对象开发前,应该首现分析需求,确定程序中需要包含的类。
在程序开发中,要设计一个类,通常需要满足以下三个要素:

  1. 类名:这类事物的名字,满足大驼峰命名法(即,每个单词首字母大写且单词之间没有空格及下划线,如SumNumbers)
  2. 属性:这类事物具有什么样的特征
  3. 方法:这类事物具有什么样的行为

3.1 类名的确定

名词提炼法分析整个业务流程,出现的名词,通常就是找到的类

3.2 属性和方法的确定

  • 对对象的特征描述,通常可以定义成属性
  • 对象具有的行为(动词),通常可以定义成方法

举个栗子

小明今年18岁身高1.75,每天早上完步,会去东西
小美今年17岁身高1.65,小美不步,喜欢东西
在这里插入图片描述

4. 面向对象的基础语法

4.1 dir内置函数(了解)

  • 在python中,对象几乎是无所不在的,变量、数据、函数都是对象。
  • 在python中,可以使用以下两个方法验证:
    – 1.在标识符/数据后输入一个., pycharm会提示该对象能够调用的方法
    – 2.使用内置函数dir()传入标识符/数据,可以查看对象内的所有属性及方法
    提示:__方法名__格式的方法是python提供的内置方法/属性,例如:
序号 方法名 类型 作用
01 new 方法 创建对象时,会被自动调用
02 init 方法 对象被初始化时,会被自动调用
03 del 方法 对象被从内存中销毁前,会被自动调用
04 str 方法 返回对象的描述信息,print函数输出使用

4.2 定义简单的类(只包含方法)

面向对象是更大的封装,在一个类中封装多个方法,这样通过这个类创建出来的对象,就可以直接调用这些方法了。

4.2.1 定义只包含方法的类

python中要定义一个只包含方法的类,语法格式如下:

class 类名:
    def 方法1(self, 参数列表):
        pass
    def 方法2(self, 参数列表):
        pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 方法的定义格式和之前的函数几乎一样,区别在于第一个参数必须是self
  • 注意,类名的命名规则要符合大驼峰命名法。
4.2.2 创建对象

当一个类定义完成之后,要使用这个类来创建对象,语法格式如下:

对象变量 = 类名()
  • 1
4.2.3 第一个面向对象程序

需求:
小猫鱼,小猫

分析:

  1. 定义一个猫类 Cat
  2. 定义两个方法eat, drink
  3. 按照需求 – 不需要定义属性
    在这里插入图片描述
class Cat:
    def eat(self):
        
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/336244?site
推荐阅读
相关标签
  

闽ICP备14008679号