一.定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放

解答
import math
class Circle:
    def __init__(self,radius):
        self.radius=radius

    @property
    def area(self):
        return math.pi*self.radius**2

    @property
    def perimeter(self):
        return 2*math.pi*self.radius

c = Circle(10)
print(c.radius)
print(c.area)
print(c.perimeter)

二.使用abc模块定义一个phone抽象类 并编写一个具体的实现类

import abc #利用abc模块实现抽象类

class Phone(metaclass=abc.ABCMeta):
    @abc.abstractmethod #定义抽象方法,无需实现功能
    def phone_name(self):
        pass

    @abc.abstractmethod #定义抽象方法,无需实现功能
    def phone_price(self):
        '子类必须定义写功能'
        pass

class iPhone(Phone): #子类继承抽象类,但是必须定义方法
    def phone_name(self):
        print('苹果手机 11')

    def phone_price(self):
        print('价格一万')

class huawei(Phone): #子类继承抽象类,但是必须定义方法
    def phone_name(self):
        print('华为手机 pr30')
    def phone_price(self):
        print('价格两万')

i1 = iPhone()
h1 = huawei()

i1.phone_name()
h1.phone_name()
i1.phone_price()
h1.phone_price()

最新文章

  1. 半吊子学习Swift--天气预报程序-准备工作
  2. C# 获取 oracle 存储过程的 返回值1
  3. uva 816 abbott's revenge ——yhx
  4. .net架构设计读书笔记--第二章 设计体系结构
  5. 用HTML5实现的各种排序算法的动画比较 及算法小结
  6. 百度Paddle会和Python一样,成为最流行的深度学习引擎吗?
  7. JS判断对象是否存在的方法
  8. oc_转_类的数组的实现和操作
  9. 精通 Oracle+Python,第 1 部分:查询最佳应践
  10. iOS教你轻松打造瀑布流Layout
  11. iOS NSDictionary、NSData、JSON等 数据类型相互转换
  12. python selenium初入
  13. j2ee基础
  14. mysql-merge合并表
  15. 面向亿万级用户的QQ一般做什么?——兴趣部落的 Web 同构直出分享
  16. 详解UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)
  17. 201771010134杨其菊《面向对象程序设计(java)》第十六周学习总结
  18. luogu P2680 运输计划 (二分答案+树上差分)
  19. 解决无法连接mysql问题
  20. CM记录-CDH故障修复处理记录

热门文章

  1. react页面内嵌微信二维码 和 自定义样式 以及 微信网页共用unionId问题
  2. ets查询接口match、select说明
  3. Scrapy框架的下载与安装
  4. Go语言标准库之context
  5. Mysql两种引擎
  6. .Net基础篇_学习笔记_第六天_for循环语法_正序输出和倒序输出
  7. GlusterFs卷类型分析及创建、使用(结合kubernetes集群分析)
  8. Winform中通过代码给PanelControl添加子控件并进行定位
  9. iOS面试题整理带答案
  10. 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了