B
    quQ
                 @   s   d dl mZ G dd deZG dd deZedkreddZeed	d
Ze Z	ee	krxe
d e
de e
de	 ne
d e
de e
de	 ed dS )    )sqrtc               @   s*   e Zd ZdZd
ddZdd Zdd Zd	S )Pointu&    Définition d'un point géométrique r   c             C   s   || _ || _dS )u   
        Point(float coord_x, float coord_y) --> Obj
        Retourne un objet de la classe Point dont les coordonnées sont <coord_x> et <coord_y>
        N)xy)selfZcoord_xZcoord_y r   d/Users/jerome/SynologyDrive/College/Informatique/OCI/1_Site/1_Programmation/7_POO/Exercices/ex7_2.py__init__   s    zPoint.__init__c             C   s   t d| j| j dS )uh   
        affiche_point() --> None
        Affiche les coordonnées du point sous la forme (x;y)
        z({};{})N)printformatr   r   )r   r   r   r   affiche_point   s    zPoint.affiche_pointc             C   s8   t | j|j }t | j|j }t|d |d  }|S )un   
        distance(Point P) --> float
        Retourne la distance séparant l'instance d'un point <P>
           )absr   r   r   )r   PZdxdydistancer   r   r   r      s    zPoint.distanceN)r   r   )__name__
__module____qualname____doc__r	   r   r   r   r   r   r   r   	   s   
r   c               @   s(   e Zd ZdZdd Zdd Zdd ZdS )		Rectangleu   Définition d'un rectanglec             C   s   || _ || _|| _dS )zuRectangle(Point coin, float largeur, float hauteur) --> Obj
        Retourne un objet de la classe Rectangle
        N)coinlargeurhauteur)r   r   r   r   r   r   r   r	   (   s    zRectangle.__init__c             C   s.   | j j| jd  }| j j| jd  }t||S )u   
        trouveCentre() --> Point
        Retourne les coordonnées du centre du rectangle sous forme d'un objet de la classe Point
        r   )r   r   r   r   r   r   )r   ZxcZycr   r   r   trouveCentre0   s    zRectangle.trouveCentrec             C   s   t | j| j| j}|S )u^   
        deepCopy() --> Rectangle
        Retourne une copie véritable de l'instance
        )r   r   r   r   )r   ZnewRectangler   r   r   deepCopy:   s    zRectangle.deepCopyN)r   r   r   r   r	   r   r   r   r   r   r   r   %   s   
r   __main__      2   #   z'copie' est un alias de 'boite'zL'adresse de 'boite' estzL'adresse de 'copie' estu+   'copie' est une véritable copie de 'boite'z/Appuyez sur une touche pour fermer la fenetre !N)mathr   objectr   r   r   r   Zboiter   Zcopier
   inputr   r   r   r   <module>   s   



