zoukankan      html  css  js  c++  java
  • 006---抽象类

    抽象类

    什么是抽象类?

    • 与Java一样。python也有抽象类的概念,但是需要借助模块实现
    • 抽象类是一个特殊的类,只能被继承,不能被实例化
    • 抽象类就是从多个类中抽取相同属性和方法。

    为什么要有抽象类?

    • 用来规范子类。子类必须要有抽象类当中的方法
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    # __author__ = "ziya"
    # Date: 2018-08-26
    import abc
    
    # 抽象类 规范子类 只能有抽象方法  只能被继承,不能实例化
    class Animal(metaclass=abc.ABCMeta):
        @abc.abstractmethod  # 定义抽象方法,无需实现功能
        def run(self):
            """
            子类必须定义run()方法
            """
            pass
    
        @abc.abstractmethod  # 定义抽象方法,无需实现功能
        def eat(self):
            """
            子类必须定义eat()方法
            """
            pass
    
    
    class Person(Animal):
        def run(self):
            print('在走')
    
        def eat(self):
            print('人吃饭')
    
    
    class Pig(Animal):
        def run(self):
            print('在跑')
    
        def eat(self):
            print('猪吃草')
    
    
    class Dog(Animal):
        def run(self):
            print('在跳')
    
        def eat(self):
            print('小狗吃肉')
    
    
    class Cat(Animal):
        def run(self):
            pass
    
        def eat(self):
            pass
    
    
    person1 = Person()
    pig1 = Pig()
    dog1 = Dog()
    
    person1.run()
    pig1.run()
    dog1.run()
    
  • 相关阅读:
    Vue响应式之依赖收集与派发更新
    异步组件(工厂函数)笔记总结
    vue源码学习
    render函数使用
    通过Vue.extned动态创建组件
    Runtime-Compiler和Runtime-Only的区别
    vue中bus的使用
    vue中全局的message
    css通用
    js通用函数封装
  • 原文地址:https://www.cnblogs.com/xjmlove/p/10321188.html
Copyright © 2011-2022 走看看