[Python]小甲鱼Python视频第036课(类和对象:给大家介绍对象 )课后题及参考解答

# -*- coding: utf-8 -*-
"""
Created on Mon Mar 11 19:18:49 2019

@author: Administrator
"""
                                                  
"""

0. 对象中的属性和方法,在编程中实际是什么?
    数据和函数----->变量和函数

1. 类和对象是什么关系呢?
    对象是类的实例化,类是一类对象的抽象描述,类是对象的模板
    
2. 如果我们定义了一个猫类,那你能想象出由“猫”类实例化的对象有哪些?
    黑猫,白猫................
    
3. 类的定义有些时候或许不那么“拟物”,有时候会抽象一些,例如我们定义一个矩形类,那你会为此添加哪些属性和方法呢?
    属性:长 和 宽 
    方法:获取周长、面积
4. 类的属性定义应该尽可能抽象还是尽可能具体?
    看情况吧,用于派生的类可以抽象一点,用于实例化的类可以具体点
5. 请用一句话概括面向对象的几个特征?
    封装:--->对外隐蔽工作细节
    继承:--->子类自动继承派生类的属性和烦烦噶
    多态:--->对不同类的对象调用同一个方法,实现不同的功能
6. 函数和方法有什么区别?
    函数:独立存在
    方法:依赖对象存在
    
动动手:
0.按照以下提示尝试定义一个 Person 类并生成类实例对象。 
属性:姓名(默认姓名为“小甲鱼”).
方法:打印姓名
提示:方法中对属性的引用形式需加上 self

"""
class Person():
    def __init__(self,name = '小甲鱼'):
        self.name = name
        
    def PrintName(self):
        print(self.name)
        
#xiaojiayu  = Person()
#xiaojiayu.PrintName()


"""
动动手:
1. 按照以下提示尝试定义一个矩形类并生成类实例对象。
属性:长和宽
方法:设置长和宽 -> setRect(self),获得长和宽 -> getRect(self),获得面积 -> getArea(self)
提示:方法中对属性的引用形式需加上 self,如 self.width
"""

class Rectangle():
    def __init__(self,long=5.00,width=4.00):
        self.long = long
        self.width = width
    def getRect(self):
        print('这个矩形的长是: %f, 宽是: %f' %( self.long, self.width))
    def setRect(self):
        self.long = float(input('长:'))
        self.width = float(input('宽:'))
rect = Rectangle()
rect.getRect()
rect.setRect()
rect.getRect()

  

posted @ 2019-03-11 22:40  Alimy  阅读(599)  评论(0编辑  收藏  举报