methode.py

Created by joelkouakou2080

Created on February 10, 2023

1.28 KB


Parmi les méthodes de la classe
suivante, lesquelles peuvent 
être statiques et lesquelles 
ne peuvent en aucun cas être 
statiques ?

class Exo13_3{
int x, y;
String nom;
void afficher(){
Terminal.ecrireString(nom + " " + x + " " + y);
}
void ajouter(Exo13_3 obj){
x = x + obj.x;
y = y + obj.y;
nom = nom + obj.nom;
}
Exo13_3 nouveau(int n){
Exo13_3 res = new Exo13_3();
res.x = n;
res.y = n*2;
res.nom = "Auto_"+n;
return res;
}
boolean plusGrand(Exo13_3 obj){
if (obj.x == x){
return y>obj.y;
}else{
return x>obj.x;
}
}
boolean compare(Exo13_3 obj1, Exo13_3 obj2){
if (obj1.x == obj2.x){
return obj1.y>obj2.y;
}else{
return obj1.x>obj2.x;
}

Les méthodes afficher, ajouter
et nouveau ne peuvent en aucun
cas être déclarées comme statiques
car elles utilisent des variables
d'instance x, y, et nom qui 
sont associées à chaque objet
de la classe.

La méthode plusGrand peut être
déclarée comme statique car elle
ne fait pas référence à des 
variables d'instance. Cependant, 
elle peut être implémentée de 
manière plus efficace en utilisant
une méthode non statique pour 
comparer les objets en utilisant 
la référence à l'objet actuel.

La méthode compare peut également
être déclarée comme statique car
elle ne fait pas référence à des 
variables d'instance.

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.