TI/Skrypty z zajęć/kz1-3
Z Brain-wiki
# -*- coding: utf-8 -*-
"""
Created on Tue May 12 11:14:04 2020
@author: Tomek
"""
'''
Zadanie 1. Utwórz klasę Punkt1, która będzie służyła do reprezentowania punktu
na płaszczyźnie. Klasa powinna mieć dwa prywatne pola (współrzędne punktu),
konstruktor (chodzi o metodę __init__) oraz metody: get_x, get_y, set_x, set_y,
odlegloscOdZera (liczy odległość od zera),
nachylenie (współczynnik kierunkowy prostej przechodzącej przez zero i ten punkt),
__str__ (opis punktu postaci (x; y)).
Zadanie 2. Utwórz klasę Punkt2, która jest kopią klasy Punkt1,
ale zamiast metod get_x, get_y, set_x, set_y posiada atrybuty x i y utworzone za pomocą property.
Zadanie 3. Utwórz klasę Kwadrat. Obiekty tej klasy powinny:
przechowywać długość boku kwadratu w postaci zmiennej prywatne
( ale zapewnić do niej dostęp beż możliwości zmiany wartości - dekorator property),
posiadać reprezentację tekstową, posiadać metody zwracające pole i obwód kwadratu.'''
class Punkt1():
def __init__(self, x, y):
self.__x = float(x)
self.__y = float(y)
def get_x(self):
return self.__x
def get_y(self):
return self.__y
def set_x(self,x):
self.__x = float(x)
def set_y(self,y):
self.__y = float(y)
def odlegloscOdZera(self):
return (self.__x*self.__x+self.__y*self.__y)**(0.5)
def nachylenie(self):
return self.__y/self.__x
def __str__(self):
return '('+str(self.__x)+'; '+str(self.__y)+')'
class Punkt2():
def __init__(self, x, y):
self.__x = float(x)
self.__y = float(y)
def __get_x(self):
return self.__x
def __get_y(self):
return self.__y
def __set_x(self,x):
self.__x = float(x)
def __set_y(self,y):
self.__y = float(y)
x = property(__get_x,__set_x)
y = property(__get_y,__set_y)
def odlegloscOdZera(self):
return (self.__x*self.__x+self.__y*self.__y)**(0.5)
def nachylenie(self):
return self.__y/self.__x
def __str__(self):
return '('+str(self.__x)+'; '+str(self.__y)+')'
class Kwadrat():
def __init__(self, bok):
self.__a = bok
@property
def bok(self):
return self.__a
def __str__(self):
return 'Kwadrat o boku '+str(self.bok)
def obwod(self):
return 4*self.__a
def pole(self):
return self.__a**2
class Punkt3():
def __init__(self, x, y):
self.__wsp = [float(x),float(y)]
@property
def wsp(self):
return self.__wsp[:]