你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

面向对象初识

2021/12/1 17:46:36
  • 编程范式(Programming Paradigm)

    • 编程范式(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式。随着编程方法学和软件工程研究的深入,特别是OO思想的普及,范式(Paradigm)以及编程范式等术语渐渐出现在人们面前。面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范式。编程范式也许是学习任何一门编程语言时要理解的最重要的术语。
    • 编程范式一般包括三个方面,以OOP为例:
      • 学科的逻辑体系——规则范式:如类/对象、继承、动态绑定、方法改写、对象替换等等机制。
      • 心理认知因素——心理范式:按照面向对象编程之父Alan Kay的观点,“计算就是模拟”。OO范式极其重视隐喻(metaphor)的价值,通过拟人化,按照自然的方式模拟自然。
      • 自然观/世界观——观念范式:强调程序的组织技术,视程序为松散耦合的对象/类的集合,以继承机制将类组织成一个层次结构,把程序运行视为相互服务的对象们之间的对话。
      • 简单的说,编程范式是程序员看待程序应该具有的观点。
    • 编程范式是编程语言的一种分类方式,它并不针对某种编程语言。就编程语言而言,一种
    • 学代码的时候可以先写伪代码(用中文先把自己的思路写出来,如果思路没有问题的话,再去用代码实现,这样就不会像无头苍蝇一样写不出来)
  • 类与对象

    • 面向对象概述

      • 面向对象编程(Object-oriented Programming,简称 OOP),是一种封装代码的方法。它可以更好地模拟真实世界里的事物(将其视为对象),并把描述特征的数据和代码块(函数)封装到一起。
      • 在面向对象中: 你要把现实事物在程序里面表示的话 === 代码里面的类=== 通过这个类来产生具体的对象 要程序里面的对象和我们现实生活当中的事物对应起来
      • 面向对象中,常用术语包括:
        • 类:可以理解是一个模板,通过它可以创建出无数个具体实例。比如,前面编写的 tortoise 表示的只是乌龟这个物种,通过它可以创建出无数个实例来代表各种不同特征的乌龟(这一过程又称为类的实例化)。
        • 对象:类并不能直接使用,通过类创建出的实例(又称对象)才能使用。这有点像汽车图纸和汽车的关系,图纸本身(类)并不能为人们使用,通过图纸创建出的一辆辆车(对象)才能使用。
        • 属性:类中的所有变量称为属性。例如,tortoise 这个类中,bodyColor、footNum、weight、hasShell 都是这个类拥有的属性。
        • 方法:类中的所有函数通常称为方法。不过,和函数所有不同的是,类方法至少要包含一个 self 参数(后续会做详细介绍)。例如,tortoise 类中,crawl()、eat()、sleep()、protect() 都是这个类所拥有的方法,类方法无法单独使用,只能和类的对象一起使用
        • 面向过程和面向对象就是解决问题的思维方式 我们不要把它对立起来
        • 分析出来解决问题的步骤,然后逐步实现 这样的编程套路我们叫面向过程
        • 面向对象 对象在我们程序里面叫object 物体
    • 类是一个抽象的概念 就是我们生活当中的类别
    • 对象是类的具体事物 一个类的个体
    • 类的定义

      • 在python里面声明类和声明函数是非常相似的
      • 声明类
        # 声明一个函数
        def 函数名(形参):
        """函数的文档字符串"""
        函数体
      • 声明函数
        # 声明类的语法
        class 类名: # 类名的后面我们是可以不写括号的
        """类的文档字符串"""
        类体
      • 不一样的点:我们定义类的时候 类体的代码就会执行
      • 类是一个抽象的概念 就是我们生活当中的类别
    • __init__()类构造方法

      • 在创建类时,我们可以手动添加一个 __init__() 方法,该方法是一个特殊的类实例方法,称为构造方法(或构造函数)。
      • 构造方法用于创建对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它。Python 类中,手动添加构造方法的语法格式如下
        def init(self,...):
        代码块
      • 仅包含 self 参数的 init() 构造方法,又称为类的默认构造方法。
  • PyCharm中iter快速写复数