В качестве альтернативы вы также можете открыть намерение своего приложения в другом приложении:
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
, где uri
является отключением другого приложения
Да, но только с классами нового стиля . Используйте функцию super ()
:
class Foo(Bar):
def baz(self, arg):
return super(Foo, self).baz(arg)
Для Python 3.x вы можете использовать:
class Foo(Bar):
def baz(self, arg):
return super().baz(arg)
ImmediateParentClass.frotz(self)
будет хорошо, независимо от того, определил ли непосредственный родительский класс frotz
или унаследовал его. super
необходим только для правильной поддержки множественного наследования (и тогда он работает только в том случае, если каждый класс использует его правильно). В общем, AnyClass.wh независимо
будет искать независимо от
в предках AnyClass
, если AnyClass
не определяет / не переопределяет его , и это верно для «дочернего класса, вызывающего родительский метод», как и для любого другого случая!
В Python также есть super (). Это немного шатко из-за классов старого и нового стиля Python, но довольно часто используется, например, в конструкторах:
class Foo(Bar):
def __init__(self):
super(Foo, self).__init__()
self.baz = 5
Python также имеет super в качестве well:
super (type [, object-or-type])
Возвращает прокси-объект, который делегирует вызовы метода родительскому или родственному классу типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе. Порядок поиска такой же, как в getattr (), за исключением того, что сам тип пропускается.
Пример:
class A(object): # deriving from 'object' declares A as a 'new-style-class'
def foo(self):
print "foo"
class B(A):
def foo(self):
super(B, self).foo() # calls 'A.foo()'
myB = B()
myB.foo()