Programmation orienté objet

svp kel est la difference entre la fonction et procedure dands la programmation orienté objet??
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. tt simplement fonction a un retourne un type prémitife ( entier , booleen.....) mais procedure ne retourne aucone choses
    1. Bonjour,

      Je me permet ici une nuance sur le commentaire de Vincent ...

      Une procédure ne renvoie rien, je suis tout à fait d'accord.
      Toutefois, en VB la procèdure permet de modifier les arguments.

      ex:

      Principal ()
      
      Dim Valeur As Long
      Dim Reponse As Long
      
          Valeur = 2
          Reponse = 2
          UnTest ( Valeur, Reponse )
          MsgBox ( Valeur  & VbCrLf & Reponse )
      
      End Principal
      
      Sub UnTest ( Byval MaValeur As Long, ByRef Repon As Long )
      
          Mavaleur = 3
          Repon = ( Mavaleur * Reponse )
      
      End UnTest
      


      Dans cet exemple, les mots importants de la procédure sont :
      ------ ByVal -------- et --------- ByRef )

      L'intruction [ MsgBox ( Valeur & VbCrLf & Reponse ) ]
      donnera comme résultat :

      2
      6

      donc ByVal ne modifie par la variable à l'instar de ByRef
      qui aura modifié la valeur de Reponse au retour de la procédure.

      Mes notions de c++ sont loin, mais il me semble que le
      même principe s'applique si la fonction se défini comme ceci:

      void MaFonction ( Char MaVariable )
      {
      ...

      }

      au retour la valeur de Mavariable aura changé

      à l'intar de :

      void MaFonction (Const Char MaVariable )
      {
      ...

      }

      alors q'ici au retour la valeur de Mavariable n'aura pas changé.
      Bien entendu, le prototype de fonction doit reflèter cette nuance.

      En toute amitié.

      Lupin
      1. Bonjour,

        Comme le dit Lupin.A, ça dépend du langage.

        En pascal, une fonction renvoie une valeur (par exemple le résultat de 6+2), alors qu'une procédure ne renvoit rien, elle se contente de faire des instructions.

        En C++ il n'y a pas de différence. Si tu veux qu'une fonction ne renvoie rien (comme une procédure en pascal), alors tu peu écrire ça :
        void nom_de_la_fonction(argumments)

        void signifie que la fonction ne retourne pas de valeur.
        1. Bonjour,

          Les fonctions et les procédures s'expliquent différament
          dépendament du languages ( C++, VB, JS, Pascal, etc... ).

          Exemple en c++ on ne parle que de fonctions, les procédures
          n'existe pas.

          L'orienté objets est la tendance relative à tous les languages.

          Un objet est constitué de méthodes et de propriétés ainsi que
          d'évènement associer à lui-même.

          Référence : Structure de données.

          Exemple simple :

          Dans un probléme posé tu dois tenir compte de la clientèle
          d'une entreprise. Or les donées respectives ressemblerait
          à ceci :

          Non du Client
          Prénom du client
          Adresse civique du client
          Ville du client
          État(province, compté,etc...) du client
          Pays du client
          Téléphone du client.

          Pour chacune des ces données tu devras établir des variables
          pour poser des actions sur celle-ci.

          L'orienté objet nous enseigne à regroupe ces variables dans
          un objet.

          ex:
          Structure Client
              nom
              prenom
              adresse
              ville
              etat
              pays
              telephone
              actif
          Fin structure
          

          Il te faudra aussi définir des actions à poser sur la structure
          Actions Client
              lire
              ecrire
              ajouter
              détruire
          Fin Action
          


          et des évènemets :

          Evenement Client
              appel
              plaintes
              liaisons
              facturation
          Fin Evenement
          


          Certains language dont le c++ te permette d'integer
          tout ceci dans ce qu'on appelle une classe, intégrant
          des fonctionnalités comme l'héritage et le polymorphisme.

          en c++, tu pourrais par exemple avoir un instruction du
          genre.

          ptr.client.nom.ecrire = "Lupin"

          à l'aide d'un pointeur sur " l'objet" , tu peux accéder aux données
          d'une façon sécuritaire et efficace.

          Le tout étant toujours de préserver la donné à son état pure.

          Lupin
          1. Bonsoir Lupin.A,

            Merci, et bravo pour ce résumé, simple mais éloquent.