python基础练习题(五)---面向对象

本文介绍了Python的面向对象编程基础,包括类与对象的概念,`__init__`方法的作用,`self`参数的意义,面向过程与面向对象的区别,以及封装、继承和多态的特性。还提供了两个编程题目,一个是创建一个简单的Number类实现基本运算,另一个是设计一个Student类并进行实例化操作,展示面向对象在实际问题中的应用。
摘要由CSDN通过智能技术生成

一、名词解释

  1. 类与对象:
    类:
    - 类名
    - 类的属性
    - 类的方法 :必含有参数:self
  • 类:对一类具体事物的抽象概括,具有相似内部状态和运动规律的实体的集合,具有相同属性和行为
  • 对象:一个具体的事物,可以直接使用 拥有:【数据成员:类变量和实例变量 】和【方法】
  • 具有相同属性和行为的对象—>类
  1. init 方法有什么作用, 如何定义
  • 该方法在类实例化时会自动调用
  • __ init_ 方法中 做初始化的设定
  • init() 方法可以有参数,参数通过 init() 传递到类的实例化操作上
  1. 方法中的"self"代表什么
  • self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类
  • 定义方法时,必须写上第一个参数,往往写成self去接收
  • 在方法中,self 就可以直接被当做当前对象来使用
  1. 面向过程编程与面向对象编程的区别
  • 面向过程是具体的东西,而且面向过程是面向对象的基础。
  • 面向过程:复杂的问题流程化,简单化 应用场景:不在需要扩展了,监控脚本,自动部署脚本,软件解压安装
  • 面向对象:特征与技能的结合体 一切皆对象 应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用
  1. 面向对象三大特性,各有什么用处,说说你的理解
    三大特性就是封装,继承,多态
  • 封装:根据职责将属性和方法封装到一个抽象的类中,定义类的准则
  • 继承:实现代码的重用,相同的代码不需要重复的编写,子类直接继承父类的所有属性和方法即可
  • 多态:不同的子类对象调用相同的方法,产生不同的执行结果。
    例如:在同一个方法,有两个子类对象,分别调用的时候有不同的结果
  1. 简单描述什么是重写
    重写:发生在子类和父类之间,当子类继承父类中的方法时,子类中的方法与父类方法的名称,参数个数,参数类型完全一致时,称子类重写了父类的方法。
    子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
  2. 当子类重写init方法,在实例化对象的时候,如果想要调用父类的init方法该怎么办?
    父类名.init(self,参数) #注意名字是父类
    super(子类名,self).init(参数) #注意名字是子类,而且init后是self之外的参数
    二、编程题
  3. 编写Python程序,模拟简单的计算器。
    定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。
    编写__init__方法,外部接收n1和n2,再为该类定义加(addition)、
    减(subtration)、乘(multiplication)、除(division)等成员方法,
    分别对两个成员变量执行加、减、乘、除的运算。创建Number类的对象,
    调用各个方法,并显示计算结果。
class Number():

    def __init__ (self,n1,n2):
        self.__n1=n1
        self.__n2=n2
    
    def addition(self):
        m1=self.__n1+self.__n2
        print('相加等于%d'%(m1))

    def subtration(self):
        m2=self.__n1-self.__n2
        print('相减等于%d'
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

outside-R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值