面向对象编程之Python学习一
在实际的程序设计中,使用Java面向对象编程方法编写算法能够很清楚的理解其来龙去脉。
习惯了面向对象思维,学习Python也自然使用这种思维。
目前,由于Python很多软件包能够容易的获取和利用,人们开始选择Python。习惯了Java
之后,再学习Python,的确有很多的不适应,总喜欢把Java的特性在Python中实现。
一切皆是对象,喜欢这句话,也认同它。就从一个基本类开始吧,算是一种学习日记。
注:程序代码中的"""..."""部分是测试模块时用的,测试完就把这部分注释,不影响模块。
问题:设计一个平面上的点类Point
#filename:p1.py
import math
class Point:
def __init__(self,x=0,y=0):
self.x=x
self.y=y
def setX(self,x):
self.x=x
def setY(self,y):
self.y=y
def setXY(self,x,y):
self.x=x
self.y=y
def getX(self):
return self.x
def getY(self):
return self.y
def getXY(self):
return (self.x,self.y)
def getDis(self):
return math.sqrt(self.x**2+self.y**2)
def getPos(self):
if(self.x==0 and self.y==0):
return 0
elif(self.x==0 and self.y!=0):
return 'y-axis'
elif(self.y==0 and self.x!=0):
return 'x-axis'
elif(self.x>0 and self.y>0):
return 1
elif(self.x<0 and self.y>0):
return 2
elif(self.x<0 and self.y<0):
return 3
else:
return 4
def showAll(self):
print(self.getX(),self.getY(),self.getXY(),self.getDis())
"""
obj=Point()
print(obj.getPos())
obj.setXY(10,-30)
obj.showAll()
"""