0
点赞
收藏
分享

微信扫一扫

重聊python封装继承多态


继承

以下是一段伪代码

from torch import nn.model
class MODEL(nn.model):
	# 继承了nn.mdoel类,可以自定义部分函数
	def forward(self,x):
		x = self.linear1(x)
        x = self.batchnormal1d1(x)
        x = self.relu1(x)
		return x

python可以继承一个类,在不改变类本身下,重写相关方法 多继承

class A:
	def a_fuc(self):
class B:
	def b_fuc(self):	
class C(A, B):
C.b_fuc()

多态

不同子类调用相同方法,执行产生不同形态,即多态

import abc
class Animal(metaclass=abc.ABCMeta): #同一类事物:动物
    @abc.abstractmethod
    def talk(self):
        pass

class Cat(Animal): #动物的形态之一:猫
    def talk(self):
        print('say miaomiao')

class Dog(Animal): #动物的形态之二:狗
    def talk(self):
        print('say wangwang')

class Pig(Animal): #动物的形态之三:猪
    def talk(self):
        print('say aoao')

@abstractmethod将一个方法标记为抽象方法。抽象方法是没有实际实现的方法,其目的是为了在子类中被重写(实现)。在抽象基类中,可以使用 @abstractmethod 装饰器来声明一个抽象方法,从而强制子类实现这个方法。

封装

这篇文章讲的挺好的详解Python中的封装

举报

相关推荐

0 条评论