Bonjour à tous,

Je souhaite créer différentes classes : naturels, relatifs, décimaux, rationnels et réels.

Faut-il que je crée une classe abstraite nombre ou une interface?

Au départ, j'ai créé la classe NombreNaturel que je voulais petit à petit généraliser mais j'ai l'impression que ce n'est pas possible (bien que tout soit possible en informatique).
Oubliez les balises php : je cherche à comprendre le java et pour l'instant j'adapte en php

Je cherche à créer une application générant des exercices de mathématiques de manière aléatoire : j'ai réussi à créer des multiplications de fractions qui se simplifient petit à petit mais j'ai beaucoup de lignes de code similaires : je veux factoriser tout ça et rendre le code propre.

Merci pour vos réponses

PS : grand débutant en info

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
 
<?php
 
public class EntierNaturel{
    protected $naturel;
 
    // Constructeur par défaut
    function  __CONSTRUCT(){
        $this->naturel = 0;
    }
 
    // Constructeur
    function  __CONSTRUCT($nbNaturel){
        $this->naturel = $nbNaturel;
    }
 
    // Getter
    function getNaturel(){
        return $this->naturel
    }
 
    // Setter
    public function setNaturel($nbNaturel){
        if($nbNaturel<0){
            throw new Exception('Le nombre doit être positif!!');
        }
        else if($nbNaturel/intval($naturel)!=1){
            throw new Exception('Le nombre doit être entier!!');
        }
        else{
            $this->naturel=$nbNaturel;
        }  
    }
}
 
?>
Créer une fraction sans latex avec mathml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
echo('<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">')."\n";
        echo('  <mrow>')."\n";
        echo('      <mfrac>')."\n";
        echo('          <mrow>')."\n";
        echo('              <mn id="n1">'.$n1.'</mn>')."\n";
        echo('          </mrow>')."\n";
        echo('          <mrow>')."\n";
        echo('              <mn id="d1">'.$d1.'</mn>')."\n";
        echo('          </mrow>')."\n";
        echo('      </mfrac>')."\n";
        echo('  </mrow>')."\n";
        echo('</math>')."\n";