Math : Création de naturels, relatifs, décimaux, rationnels et réels
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:
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:
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"; |
J'opte pour la classe abstraite
Merci pour votre réponse,
Je pensais également à la classe abstraite : je vais donc créer une abstract class Nombre avec quelques méthodes et créer mes classes filles avec les méthodes permettant la définition de chacun de mes ensembles de nombres.
Je ne note pas "résolu" mais plutôt "en attente de codage" car vu mon niveau d'expérience, ça pourrait me prendre un certain temps !!
A bientôt