code: def init_app(cls, app, callback=None):
          
          processed = set()
          cls.__views__ = set()
          cls.is_always_available = False
          for base in cls.__mro__:
              for name, attr in base.__dict__.items():
                  if name in processed:
                      continue
                  processed.add(name)
                  if isinstance(attr, ViewHandler):
                      if base != cls:  # Copy ViewHandler instances into subclasses
                          # TODO: Don't do this during init_app. Use a metaclass
                          # and do this when the class is defined.
                          attr = attr.copy_for_subclass()
                          setattr(cls, name, attr)
                      attr.__set_name__(cls, name)  # Required for Python < 3.6
                      cls.__views__.add(name)
                      attr.init_app(app, cls, callback=callback)
                      if not hasattr(attr.wrapped_func, 'is_available'):
                          cls.is_always_available = True
docs: Register views on an app. If :attr:`callback` is specified, it will
          be called after ``app.``:meth:`~flask.Flask.add_url_rule`, with the same
          parameters.