Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Peter Otten <__peter__@web.de> Newsgroups: de.comp.lang.python Subject: Re: [Python-de] Was ist an dieser Klasse falsch? Date: Thu, 30 Jul 2020 10:25:17 +0200 Organization: None Lines: 68 Message-ID: References: <2346874.32mHK6UKXk@palindrom> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de hex6Q4adrcOCJF2KvOKnFwtIl5mFWVFaMr1FqVk3P1OA== Return-Path: <__peter__@web.de> X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org Authentication-Results: mail.python.org; dkim=pass reason="1024-bit key; unprotected key" header.d=web.de header.i=@web.de header.b=dJRzizEI; dkim-adsp=pass; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1596097534; bh=GS86f/HpWHhuaCNHgsv/UEKsR6fsSYDaoYPLAoiXAXE=; h=X-UI-Sender-Class:From:To:Subject:Date:In-Reply-To:References; b=dJRzizEIEipItcxOJjOttG7SimOyWv5iU926Q9dDgQdmSMlBnCptnDUPjK8JwCPFP p8LKe1WxpnHeE92BWui7sp0wxq5YXfTxG1zYTvTlFPIpMwM/kTcjzxX7QaKTMEURZZ NWOwdbhpK1CC5TwwL7XuxDrm0MiTcP5JdpsQ4ywQ= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 User-Agent: KMail/4.13.3 (Linux/3.13.0-170-generic; KDE/4.13.3; x86_64; ; ) In-Reply-To: X-Provags-ID: V03:K1:j5ZJCFEwl9uhSR8JOjzVRknMU/OKx9N0E/GWdNtg4eW574nwtZd PdoBaewtpq2EB4d0M7kYjI2D9G26Qc0SW5qVT+CWH9bIiW5ZiWHAgIJ86U1NnaWL1Q/YgYQ G/YJbt9f+g0OEDQgAJT8fSGy71Br83McmbSNgVXs69eKETJRVUOyYspC0QdSoDBUlar4BSU oxNgIK3GcvUviixQqJcLA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:PLMlae9YF8s=:jKtFWAkC/bxn/RSfLSlE+u fMsQmqryMUXPHtw8Rhcolhw14gi2eplTHVr81i20gEGjOV0v/qtBFqipXSiig3bbeJ6zAmpj3 cthriFFcL0WGhJwZSX9KbJzg4hshryy4k39XZLn42ROIjXxJ7SRqAdF4AIRkV9B4R1LrB1bEU SwNLK7eRiXADfvCL17+P+nnspXoNfmTK+flsksaqwAIeDZenOUp1zqVXTS0EvH7Wbgav1Vigi qX05wjwUmYF4cbnBnIMYTNfiVTP3ONLeOcwuLcZzjGTAvek7gzE83hQlDH5/9C8vG1h/gE0y5 +zaee6J28MVLFwcIr3EFSyGISB7cydAlSTi/jYLjT8MfwpvHO++mus1hreI6wRR7+5ar2Ekxb zjOZQdBfAhFNF/4RqggYlE1YE90uyAijqozp/CaulwU24wyWPKlzfKsaLHkkO66NOpt3IeqEM faQX1Z6c7oA7wwgiMIzZfHLaYUQhreZU47F+h0yy66TGrsY0XrLeZ3YfKj6uWk9NcY1Wv/wgS 8BhQ8OF9l1isCKyOSRTvESBAWqV50Lh7BKkDVPfDlhWWiXmPDGwhhAsFVOIG/Fx0mPzO6Of+R HhFbpWsY+ly0U8ehzIhjeL1NQSJyM+8x0kZkKyTuX7FUnG4ewLqAFW5RX9QClbjxj5Oioztho PQLUisZi1klipKcuZYoi+EVlBuSYshksBeygyIuhKEdBDIRwHkN9jvKUHcERVJuumtWAaKZFK qE0y5jLeroMCxE4xErxAD5lZg1e0O5LQmo7jblMO650XWmX3ti4qBFgRPmvxvqzadeksr9oiF UfL4K6Tn/ehK3gnfd7aqNBS7XgJxdjU3yQQgBKbANDNqJJ5ikFAH0Ta4se3rxbPcVWTGhIBC+ G1RjB5Q11K+YBH9sTMMzkzRoDHX6zndTHtzQyxpCPTHWs7Eool8ZNAM/K/adQd871RVwzArun U75IguGb+ApCWPQ7TNJqmekgSTygdmJ1aoQIW4+OAixE7NaWQb+a9/A1VQ2RAUH0FI6yglBje InmxgdyKT9BjRDmnmeYbiOyAH9DIpEaeF+lwzJYQI15zmNocqAW7PMkt/l1DLJCVY2ru6BD+k +Deb2Pu8qcONkvLFNbnPNw5UaOaRPc6LtvQeymUbiJgty5Dg3jo3/Ep1jKu4btUahKudhWLey UugVpb9Q0blK+ETZJCL2ozQD5xXJmkxg1E+GXyvjezyqfMsI/fB1shOgmUgCtrSHX4MjBmsYI fNJTr/8f6uP8LDBE7 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <2346874.32mHK6UKXk@palindrom> X-Mailman-Original-References: Xref: csiph.com de.comp.lang.python:5655 Am Do Juli 30 2020, 07:56:54 schrieb Peter Heitzer: > Peter Heitzer wrote: > >Ich habe ein Verst=E4ndnisproblem mit folgendem kleinen St=FCck Java= code: > > > >import java.util.*; > > > >public class P extends Properties { > > > > public String getProperty(String p) { > > =20 > > return super.getProperty(p,"de"); > > =20 > > } > > =20 > > public static void main(String[] args) { > > =20 > > P x=3Dnew P(); > > x.setProperty("a","b"); > > System.out.println(x.getProperty(args[0])); > > =20 > > } > > > >} > > > >Es wird ohne Fehler =FCbersetzt. Wenn man es aber startet bricht es = mit > >Stackoverflow ab. Ich kann mir nicht erkl=E4ren, was hier passiert. > >Die abgeleitete Klasse P =FCberschreibt die Methode getProperty(Stri= ng) und > >ruft darin die Originalmethode getProperty(String,String) auf. > >Das Laufzeitverhalten mit Stackoverflow schaut aber f=FCr mich so au= s, als > >ob die =FCberschriebene Methode sich selbst aufruft. > >Wer kann mir das Verhalten erkl=E4ren? >=20 > Sorry falsche Gruppe. Meine Java-Kenntnisse sind angestaubt, aber ich versuch mich mal an ein= er=20 "=DCbersetzung": class Properties: def getPropertyDefault(self, name, default): try: return self.getProperty(name) except ValueError: return default def getProperty(self, name): return 42 class P(Properties): def getProperty(self, name): return super().getPropertyDefault(name, "de") try: print(P().getProperty("foo")) except Exception as err: print(err) $ python3 property.py maximum recursion depth exceeded while calling a Python object Wenn diese =DCbersetzung korrekt ist besteht das Problem m=F6glicherwei= se in den=20 unterschiedlichen Signaturen, du =FCberl=E4dst die eine die dann intern= von der=20 anderen wieder aufgerufen wird.