0.对象中的属性和方法,在编程中实际是什么?
变量和函数。
1.类和对象是什么关系呢?
类是对象的抽象表达,对象是类的实际表现。
2.如果我们定义了一个猫类,那你能想象出由“猫”类实例化的对象有哪些?
黑猫,白猫,黑猫警长。
3.类的定义有些时候或许不那么“拟物”,有时候会抽象一些,例如我们定义一个矩阵类,那你会为此添加哪些属性和方法呢?
添加长度,宽度,坐标,颜色等属性,计算面积和周长等方法。
4.类的属性定义应该尽可能抽象还是尽可能具体?
抽象,这样才叫面向对象啊。
5.请用一句话概括面向对象的几个特征?
封装:对外部隐藏对象的工作细节
继承:子类自动共享父类之间数据和方法的机制
>>> class MyList(list):
pass
>>> list1 = MyList()
>>> list1.append(0)
>>> list1
[0]
多态:可以对不同类的对象调用相同的方法,产生不同的结果,就是不同类的同一个方法名调用和后的结果不一样。
6.函数和方法有什么区别?
方法多了一个self参数。
动手
0.按照以下提示尝试定义一个Person类并生成类实例对象。
属性:姓名(默认姓名为“小甲鱼”)
方法:打印姓名
提示:放法中对属性的引用形式加上self,如self.name
class Person:#Python中的类约定以大写字母开头
#属性
name = '小甲鱼'
def PrintName(self):
print(self.name)
1.按照以下提示尝试定义一个矩阵类并生成类实例对象。
属性:长和宽
方法:设置长和宽->setRect(self),获得长和宽->getRect(self),获得面积->getArea(self)
提示:方法中对属性的引用形式加上self,如self.width
程序截图:
class Person:#Python中的类约定以大写字母开头
#属性
length = 1
width = 1
def setRect(self):
print("请输入矩形的长和宽:")
self.length = float(input('长:'))
self.width = float(input('宽:'))
def getRect(self):
print("这个矩形的长是:%.2f,宽是:%.2f" % (self.length,self.width))
def getArea(self):
return self.length*self.width
``