小甲鱼Python第036讲:类和对象:给大家介绍对象 | 课后测试题及参考答案

测试题:

0.对象中的属性和方法,在编程中实际是什么?

   变量(属性)和函数(方法)

 

1.类和对象是什么关系呢?

  类和对象的关系就如同模具和用这个模具制作出的物品之间的关系。一个类为它的全部对象给出了一个统一的定义,而他的对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系。对象是类的实例化。

 

2.如果我们定义了一个猫类,那你能想象出由“猫”类实例化的对象有哪些?

   叮当猫,Tom猫,Hello Kitty```````

 

3.类的定义有些时候或许不那么“拟物”,有时候会抽象一些,例如我们定义一个矩形类,那你会为此添加哪些属性和方法呢?

  属性可以是长和宽,方法可以是计算周长、面积等 

 

4.类的属性定义应该尽可能抽象还是尽可能具体?

  正确的做法应该是尽可能抽象,因为这样更符合面向对象的思维。 

 

5.请用一句话概括面向对象的几个特征?

封装:对外部隐藏对象的工作细节;

继承:子类自动共享父类之间数据和方法的机制;

多态:可以对不同类的对象调用相同的方法,产生不同的结果。

 

6.函数和方法有什么区别?

  函数和方法几乎一样。主要有一点区别在于方法默认有一个self参数。 

 

动动手:

0.按照以下提示尝试定义一个Person类并生成类实例对象。

属性:姓名(默认姓名为“小甲鱼”)

方法:打印姓名

提示:方法中对属性的引用形式需加上self,如self,name

实现代码:

1 class Person:
2     name = "小鲫鱼"
3     def getName(self,name):
4         print(self.name)

 

1.按照以下提示尝试定义一个矩阵类并生成类实例对象。

属性:长和宽

方法:设置长和宽->setRect(self),获得长和宽->getRect(self),获得面积->getArea(self)

提示:方法中对属性的引用形式需加上self,如self.width

程序截图:

实现代码:

 1 class Rectangle:
 2     length =float(5)
 3     width = float(4)
 4 
 5     def setRect(self):
 6         temp = print("请输入矩阵的长和宽...")
 7         self.length = float(input("长:"))
 8         self.width = float(input("宽:"))
 9 
10     def getRect(self):
11         print("这个矩阵的长是:%.2f,宽是:%.2f" %(self.length,self.width))
12 
13     def getArea(self):
14         return self.length * self.width

 

posted @ 2020-08-11 18:55  逆袭小白  阅读(539)  评论(0编辑  收藏  举报