What is the use of python abstract class

(*-*)浩
Release: 2019-07-09 10:18:31
Original
4881 people have browsed it

Abstract classes are like a mixture of classes and interfaces. They have the characteristics of interfaces. They use the third-party abc module in python to implement abstract classes.

What is the use of python abstract class

Abstract methods do not have the problem of rewriting, but there are problems of implementation (recommended learning: Python video tutorial)

If a class is extracted from a bunch of objects with the same content, then The abstract class is extracted from a bunch of classes with the same content, including data attributes and function attributes.

A class containing abstract methods must be an abstract class, but an abstract class does not necessarily contain abstract methods, and it does not make any sense at this time.

In python, interfaces (abstract classes) are often used for collaborative work.

Note: In python, we do not distinguish whether it is an abstract class based on whether it has an executable body, but based on whether there is an @abc.abstractmethod decorator as the standard.

#注意:不能直接实例化抽象类!!!
#示例程序:
import abc  #导入abc模块
class InMa(metaclass=abc.ABCMeta):  #定义抽象方法
   @abc.abstractmethod       #定义抽象方法
   def login(self):
      pass
   @abc.abstractmethod
   def zhuce(self):
     pass
class Login(InMa):  #继承抽象类
   def __inti__(self,name,pwd):
      self.name = name
      self.password = pwd
   def login(self):           #实现抽象方法功能

      if self.name == "qq" and self.password == "111":
         print("恭喜登录成功")
      else:
         print("登录失败")

class Zc(Login):
   def __init__(self,name,pwd):
      self.name = name
      self.password = pwd
   def zhuce(self):
      print("恭喜注册成功")
      print("username:",self.name)
      print("password:",self.password)
 #实例对象
ren = Zc("Jaue","qqq")
ren.zhuce()
Copy after login

For more Python related technical articles, please visit the Python Tutorial column to learn!

The above is the detailed content of What is the use of python abstract class. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!