前言:主要为个人笔记
面向过程:将问题分析成一个个步骤,将步骤一一在函数中实现,使用时不断调用即可。
面向对象:将问题分析成一个个对象,描述每个对象拥有的行为和属性。
举例:
打电话
面向过程:打开手机,找联系人,拨号,聊天,挂断。
面向对象:人(打开手机,找联系人,拨号,聊天,挂断)。
公交车
面向过程:开车,到站停车,开车
面向对象:公交车(开车,到站停车,开车)
思考方式:
如果我现在需要一个正方形,长方形,三角形自转
都先确定自转点,不同的图形有不同的自转点,坐标为(x,y)
面向对象者:
class Shape{
int x;//x轴
int y;//y轴
void rotate(){
//旋转360°
}
}
class Square extends Shape{
void rotate(){
//旋转360°
}
}
class Rectangle extends Shape{
void rotate(){
//旋转360°
}
}
class triangle extends Shape{
void rotate(){
//旋转360°
}
}
面向过程者:
class Shape{
int shapeNum;//形状的编号
int x;//x轴
int y;//y轴
void rotate(shapeNum,x,y){
//旋转360°
}
void rotate(shapeNum,x,y){
//旋转360°
}
void rotate(shapeNum,x,y){
//旋转360°
}
void rotate(shapeNum,x,y){
//旋转360°
}
}
面向对象:
优点
灵活,维护方便,复用性高
缺点
性能略差于面向过程
面向过程:
优点
不用像面向对象那样不停的生成对象,占用资源。性能较优
缺点
维护起来麻烦,不灵活,复用性差