零基础学习Python 作业 第36章

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

属性:变量赋值

方法:函数

 

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

答:类和对象的关系就如同模具 与模具制作的物品之间的关系,一个类喂他的全部对象给出了一个统一的定义

而他每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系。

 

2.如果我们定义一个猫类,那你能想象出来的‘猫’类实例化对象都有哪些?

class   Cat(object):

         pass

c = Cat()

b= Cat()

黑猫警长  ,大脸猫   ,蓝猫

 

3.类的 定义有时候不是那么‘拟物’,如果定义一个矩形类,那你会为此添加哪些属性和方法呢?

属性: 长  宽

方法: 求周长,求面积

 

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

抽象,更符合面向对象的思维!

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

封装: 对外部隐藏内部工作细节

继承:子类可共享父类之间的属性 ,方法

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

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

方法含有默认参数self!

 

动手题:

0.按照以下提示长胜定义一个Person 类并生产类实例对象。

属性:姓名(默认姓名为 ‘小甲鱼’)

方法: 打印姓名

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

class  Pesrson(object):

def printname(self,name='小甲鱼'):
self.name = name
print(" 默认输出: name is %s" %(self.name))
c = Pesrson()
c.printname()
c.printname('name')

输出结果:

默认输出: name is 小甲鱼
默认输出: name is name

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

属性:长和宽

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

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

 

class Person(object):
def __init__(self):
self.x = 5
self.y = 4
def setRect(self,x,y):
self.x = int(x)
self.y = int(y)
print x,y

def getRect(self):
print self.x,self.y
def getArea(self):
getarea = self.x * self.y
print(getarea)


c = Person()
c.setRect(5,6)
c.getArea()
c.getRect()

 

posted @ 2018-11-26 13:23  蘑菇慢慢  阅读(184)  评论(0)    收藏  举报