[Python] python e classi

Manlio Perillo manlio.perillo a gmail.com
Ven 12 Ago 2016 20:02:36 CEST


2016-08-11 23:17 GMT+02:00 Giuliano Curti <giulianc51 a gmail.com>:
> ciao,
> intanto grazie della risposta;
>> [...]
> sto implementando una libreria per trattare i grafi; è un esercizio a
> scopo autodidattico da cui avrei voluto tenervi indenni, ma.....
> ovviamente qualsiasi hint anche sullo specifico dei grafi è benvenuto;
> tornando al dunque:
>
> allora, ho generato la classe Graph() che ha una certa struttura dati
> ed implementa alcuni metodi; argomento molto legato, ma non
> coincidente, è quello dei grafi orientati ed ho generato la classe
> Digraph() che si basa sulla prima, ne incrementa la struttura dati
> (aggiunge delle liste non necessarie per i grafi), eredita i metodi
> della precedente ed implementa alcuni metodi specifici, ad es. sui
> flussi;
>
> orbene, per un (noto) teorema una forma di connettività dei grafi
> (siamo nella classe Graph()) corrisponde ad una forma particolare di
> calcolo di flusso (metodo disponibile nella classe Digraph()), da quì
> la domanda di come attingere a metodi della classe derivata Digraph()
> all'interno della classe Graph();
>

Dimenticando per un momento le classi e le loro relazioni, vuoi
calcolare una proprietà X di un grafo semplice, e questa proprietà può
essere calcolata tramite la proprietà Y di un grafo orientato
costruito a partire dal grafo semplice.

In questo caso la cosa più semplice da fare mi sembra:

class Graph:
    def X(self):
        g = build_digraph(self)

        return g.Y()

Su come implementare build_digraph si potrebbe aprire probabilmente un
thread separato, dato che immagino tocca parti private
dell'implementazione di Graph e magari anche DiGraph.


Ciao  Manlio


Maggiori informazioni sulla lista Python