导航:首页 > 编程语言 > python抽象类用途

python抽象类用途

发布时间:2022-07-18 11:47:16

python 抽象类

这哪里有抽象类了?Python本身不支持抽象类,你也没有导入诸如第三方的abc模块。

⑵ 抽象类就是指用来被继承的类吗

1. 什么是抽象类抽象类仅提供一个类型的部分实现。抽象类可以有实例变量,以及一个或多个构造函数。抽象类可以同时有抽象方法和具体方法。一个抽象类不会有实例,这些构造函数不能被客户端调用来创建实例。一个抽象类的构造函数可以被其子类调用,从而使一个抽象类的所有子类都可以有一些共同的实现,而不同的子类可以在此基础上有其自己的实现。

2. 抽象类的用途
1) 具体类不是用来继承的。 Scott Meyers曾指出,只要有可能,不要丛具体类继承。
2) 假设有2个具体类,类A和类B,类B是类A 的子类,那么一个最简单的修改方案是应当建立一个抽象类(或java接口)C,然后让类A和类B成为抽象类C的子类。
3) 抽象类应当拥有尽可能多的共同代码。以提高代码的复用率。
4) 抽象类应当拥有尽可能少的数据。

3. 基于抽象类的模式和原则
1) 针对抽象编程,不要针对具体编程。
2) 尽量使用合成(Composition),而不要使用继承来达到复用的目的。
3) 使用摸板方法模式

4. 什么时候应当使用继承复用
1) 子类是超类的一个特殊种类,而不是超类的一个角色,也就是要区分”is – a” 和“has-a”两种关系。
2) 永远不会出现需要将子类换成另一个子类的情况。如果设计师不是很肯定一个类回不会在将来变成另一个类的子类的话,就不应当把这个类设计成这个超类的子类。
3) 子类具有扩展超类的责任,而不是具有置换掉(Override)或注销掉(Nullify)超类的责任。
4) 只有在分类学上有意义时,才可以使用继承,不要丛工具类继承。

⑶ 什么是抽象类抽象类有什么作用

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

作用:通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。

抽象类里面可以有非抽象方法但接口里只能有抽象方法 声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。

(3)python抽象类用途扩展阅读:

在使用抽象类时需要注意几点:

1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。

2、抽象方法必须由子类来进行重写。

3、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。

4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。

5、子类中的抽象方法不能与父类的抽象方法同名。

6、abstract不能与final并列修饰同一个类。

7、abstract不能与private、static、final或native并列修饰同一个方法。

⑷ Python是什么它有哪些优点

Python是一门大家都比较熟悉的一门计算机语言,也是比较简单的一门计算机语言,相对于来说更加简单一些,而且也是不少人进入行业内的首要选择,现在从事Python培训机构也在不断增加。
Python是一门好用又简单易学的计算机编程语言,在近几年中,Python受到了不少IT人士的追捧,热度也是越来越高了,成为了我们入门首选的编程语言,为什么呢?因为Python具有非常广泛的应用范围,在人工智能、web开发之中具有非常好的应用,同时在金融分析、爬虫等领域也具有很大的作用。
1、Python采用C语言进行开发,但是Python不再有C语言中的指针等复杂的数据类型存在。
2、Python具有很强的面向对象特性,同时也简单化了面向对象的实现,可以消除保护类型、抽象类、接口等面向对象的元素。
3、Python代码可以使用空格或者制表符缩进的方式分割代码。
4、Python仅仅只有31个保留字,而且没有分号、begin、end等标记。
5、Python是强类型的语言,变量创建之后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。

⑸ 抽象类到底有什么用途啊

抽象类的一个功能--不能被实例化。也就是不能被new.
举个生活中的例子
宠物类下面有狗狗类,猫猫类来继承它。
一般的情况我们有这两种方法

宠物类 a =new 狗狗类();
翻译就是。我有一只宠物,这只宠物是狗狗,它叫a
狗狗类a=new 狗狗类();
我有一只狗狗,它叫a.

这个不区别。关键的是,楼主来看下面的代码
宠物类 a=new 宠物类();
虽然我们经常说,我有一只宠物。(但是请注意,实际上没有一种叫宠物有东西。宠物是个泛泛的概念,我们现实生活中有狗和猫)
所以抽象类不能被new的功能。是为了符合事实意义。
同时也是类的一种高度概括。

我们说类是对象的抽象。抽象类又是各种各校类的抽象

⑹ python里面也有java中的抽象类和接口吗

接口是抽象类的一种特殊形式。先看一下定义,类中有抽象方法的类是抽象类,接口定义的是类中的方法全部都是抽象方法。也就是说抽象类中抽象方法可以是一个或者全部,但是接口中方法只能全部都是抽象方法。还有在实现的时候,接口是通过实现的形式,抽象类是通过继承的方式。

⑺ 简答题:抽象类的作用和意义

抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象方法的简单的方法是:
class Sheep(object):
def get_size(self):
raise NotImplementedError

⑻ python下的抽象类的用途和意义

抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象方法的简单的方法是:
class Sheep(object):
def get_size(self):
raise NotImplementedError
任何从Sheep继承下来的子类必须实现get_size方法。否则就会产生一个错误。但这种实现方法有个缺点。定义的子类只有调用那个方法时才会抛错。这里有个简单方法可以在类被实例化后触发它。使用python提供的abc模块。
import abc
class Sheep(object):
__metaclass__ = abc.ABCMeta
@abc.absractmethod
def get_size(self):
return
这里实例化Sheep类或任意从其继承的子类(未实现get_size)时候都会抛出异常。
因此,通过定义抽象类,可以定义子类的共同method(强制其实现)。

阅读全文

与python抽象类用途相关的资料

热点内容
战双程序员 浏览:479
him触摸编程软件 浏览:929
植物大战僵尸存档怎么转移安卓 浏览:852
java栈的元素 浏览:737
程序员与篮球事件 浏览:675
app反编译不完整 浏览:788
电脑上的文件夹怎么调整 浏览:7
服务器无响应是什么原因呀 浏览:984
wd文档里的app怎么制作 浏览:513
电脑里的文件夹没有了一般能恢复吗 浏览:418
哪里有配加密钥匙的 浏览:210
服务器开不了机怎么把数据弄出来 浏览:958
gif动态图片怎么压缩 浏览:521
黑猴子棒球压缩文件解压密码 浏览:631
如何让app适应不同的手机屏幕大小 浏览:10
苹果手机如何给安卓手机分享软件 浏览:761
苹果电脑怎么运行腾讯云服务器 浏览:59
明日之后沙石堡命令助手 浏览:261
蛋糕店用什么样的app 浏览:877
长安银行信用卡app怎么取现 浏览:635