2016 - 2024

感恩一路有你

python抽象类有什么用 为什么使用抽象基类在Python?

浏览量:1328 时间:2021-03-14 08:31:01 作者:admin

为什么使用抽象基类在Python?

有时有些类型有一些共同的特点,可以抽象形成基类,但基类本身不能实例化,只有子类可以继承并实现抽象方法实例化子类对象,这样的类叫做抽象类。例如,移动电话、计算机和电视可以归类为电子设备。电子设备是抽象类,具有诸如开机、运行和关机等抽象方法。但是,不能直接新建电子设备类的对象,因为不能指定其特定的形状、功能和其他信息。您只能从电子设备类中派生出手机、计算机和电视机,并将它们分开本文给出了不同开机、运行和关闭方法的具体实现,然后对这些类的对象进行了新的定义。这就是多态性的体现。静态语言(如C/Java)本机支持多态性,并具有抽象关键字,可用于定义抽象类。Python是duck类型的语言,它没有真正的多态性,因此它没有该语言的原生抽象类支持,只能通过第三方封装类如ABC simulation来实现。对于没有接触过C和Java的Python学习者来说,很难理解。

今年31岁,现在开始想自学Python语言,还来得及吗?

说实话,编程的入门门槛不高。如果你能写一个If和else,你将几乎处于入门级。问题是上限很高。如果你想通过编程找到一份工作,你不能只使用If和else,不是吗?

迭代器、生成器、装饰器等都需要掌握。其实,这条路并不容易走。如果你想从一开始就掌握,那就需要半年的时间尽可能快,半年的时间尽可能慢。。。(这与你的认真和才华有关)

好吧,你又在网上做了一年外包项目,你已经34岁了。

如果你成功地进入了一家各方面薪水都不错的互联网公司,你能在这家公司工作多少年?众所周知,互联网公司正在迅速变化,许多公司在40岁时就被解雇了。

另外,在过去的三年里,你必须带着你的孩子,陪着你的妻子,工作。有多大的压力

抽象类是不完整的,它们只能用作基类。

它不同于非抽象类:1。抽象类不能直接实例化,对抽象类使用new运算符是编译时错误。

尽管某些变量和值在编译时可以是抽象类型,但这些变量和值必须为null或包含对从抽象类派生的非抽象类实例的引用。

2. 允许(但不要求)抽象类包含抽象成员。

3. 抽象类不能被密封。

从抽象类派生非抽象类时,这些非抽象类必须具体实现所有继承的抽象成员,以便重写这些抽象成员。

在以下示例中:抽象类a{public abstract void f()}抽象类B:a{public void g(){}}抽象类C:B{public override void f(){//f}}抽象类a引入抽象方法f。

类B引入另一个方法g,但由于它不提供f的实现,B也必须声明为抽象类。

C类重写F并提供具体的实现。

由于C中没有抽象成员,因此可以(但不是必须)将C声明为非抽象类。

抽象类与接口密切相关。

但是接口比抽象类更抽象,主要体现在它们的区别上:1)类可以实现无限的接口,但只能继承一个抽象类(或任何其他类型)的接口,从抽象类派生的类仍然可以实现接口,因此,接口被用来解决多重继承的问题。

2)抽象类可以有非抽象方法,接口不能,抽象类中的方法只是一个声明,没有具体实现的方法必须用public修改。

3)抽象类中的成员变量可以由不同的修饰符修改,接口中的成员变量默认为静态final。

4)这也是最重要的一点,其实质是“抽象类是对象的抽象,接口是行为规范”。

python抽象类有什么用 抽象基类是指 python面向对象编程

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。