Come dovrei strutturare il mio albero dei nomi in modo che abbia una classe Math e uno spazio dei nomi Math?

-1

Non so se questa è una buona o cattiva idea, o se è tecnicamente possibile anche ... ma mi piacerebbe avere qualcosa del seguente tipo:

public class Math {
  public int gcd(a,b) // Method for Greatest Common Denominator
  public int lcm(a,b) // Method for Least Common Multiple
  public int factorial(a) // Method for factorial
  ...
}

e poi mi piacerebbe anche avere uno spazio dei nomi chiamato Math che ha sottoclassi come Math.Matrix , Math.RowVector , Math.ColumnVector , ecc ... così posso definire la mia propria struttura dati Matrix e il suo azioni associate.

È consigliabile? Non mi piace troppo l'idea di usare un altro nome per la mia classe Math , perché voglio che sia una classe statica con tutti i tipi di funzioni / metodi che sono utili per me, e allo stesso tempo, voglio per raccogliere tutte le mie strutture di dati rilevanti in uno spazio dei nomi Math .

    
posta agent154 08.02.2014 - 05:12
fonte

2 risposte

5

Vedi questi per un chiarimento: Non nominare una classe uguale al suo spazio dei nomi e Nomi dei namespace

In sostanza,

DO NOT use the same name for a namespace and a type in that namespace.

Vorrei usare qualcosa come MathUtilities o MathUtil , in breve, per lo spazio dei nomi e quindi puoi avere il tuo MathUtil.Math e il resto.

    
risposta data 08.02.2014 - 08:05
fonte
0

È tecnicamente possibile? Provalo e scoprilo, nel peggiore dei casi il compilatore ti urlerà contro, ma non ti chiamerà brutto nome.

Quello che stai cercando di fare è creare un "Utils" o una classe simile che dovrebbe essere nel tuo spazio dei nomi Math. Generalmente però la classe "Utils" è disapprovata ma ancora ben compresa se la si usa. In tal caso, puoi suddividerli in discipline come Math.Trig o Math.Geometry.

    
risposta data 08.02.2014 - 08:15
fonte

Leggi altre domande sui tag