|
123456789101112131415161718192021222324252627282930313233343536 |
- /* Copyright (C) 2011-2023 Patrick H. E. Foubet - E2L Ivry
- Ecole du Logiciel Libre : https://e2li.org/
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>
- *******************************************************************/
-
- struct Cercle{ // créez une structure de type
- rayon : f32, // membre de la structure
- }
-
- trait Calculate { // définir un trait
- fn aire(&self) -> f32 ; // Définit une méthode de trait.
- }
-
- impl Calculate for Cercle { // implémente la fonction
- fn aire(&self) -> f32 { // implémente la méthode du trait
- std::f32::consts::PI * self . rayon * self.rayon
- }
- }
-
- fn main(){
- let obj = Cercle { rayon : 2000.00} ; // crée un objet structuré
- println ! ("L'aire du cercle est : {}", obj.aire()) ;
- // dans le println on appelle la méthode
- }
|