零基础学习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()