研究面向对象与面向过程的区别中遇到的问题,请指教!

kflwz 2004-05-02 12:22:51
问题:求一个长方形的周长和面积
请问这个程序除了思想上的不同之外,具体都有哪些不同,通过程序能够体现出面向对象的哪些优点,请高手指点,多谢了!
面向过程的程序设计代码:
class Rectangle{ //定义了一个类,包含了求长方形周长和面积的方法
static int perimeter(int length,int width) //静态方法,可以直接调用
{ return 2*(length+width); }
static int area(int length,int width)
{ return length*width; }
public static void main(String args[]){
System.out.println(“perimeter=”+Rectangle.perimeter(5,4));
System.out.println(“area=”+Rectangle.area(5,4));
}
 面向对象的程序设计代码
class Rectangle{
int l,w; // 定义两个成员变量,分别表示长方形的长和宽
int perimeter(){ return 2*(l+w); }
int area(){ return l*w; }
public static void main(String args[]){
Rectangle rect1=new Rectangle();
rect1.l=10; rect1.w=5;
System.out.println(“perimeter of rect1=”+rect1.perimeter());
System.out.println(“area of rect1=”+rect1.area());
}
}
...全文
117 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kflwz 2004-05-05
  • 打赏
  • 举报
回复
上面这位兄弟说的有道理,可是现在小弟急用,您能解释一下吗,等待中.....

maowu 2004-05-05
  • 打赏
  • 举报
回复
写上十万行程序,你就自然明白面向对象跟面向过程的关系和区别了.
prokingvov 2004-05-05
  • 打赏
  • 举报
回复
up
kflwz 2004-05-05
  • 打赏
  • 举报
回复
我想知道通过这个程序能对比较面向对象编程和面向过程编程起到什么样的作用?

请兄弟们如题解答,小弟不胜感激!
无欲则钢 2004-05-03
  • 打赏
  • 举报
回复
多态就是变形金刚,可以变爷爷,变父亲,或学一套武术,你就可以变师傅。
你不用知道它是什么,只要它能变就行了。
fishstudio 2004-05-03
  • 打赏
  • 举报
回复
我的意见就是说,oo的思想是从过程思想中演化过来的

没有过程化的编程就没有oo今天的成就,本来oo中就蕴含了过程化的思想

每一个所谓的封装体里面,都是一个小的过程

oo的出现,无非是更强调程序间的无关性能,并没有从本质上给予程序设计的革命

就像是语言的出现这样划时代的标志。

所以,没有必要将他们分的过于清楚,他们本来就是一体的,就是向着更高,更优的方向

不断的发展着的,是前进的,不是互不相容的。

只要你能够掌握精髓,他们都是你的一部分。

最后,祝你成功
wbh0360 2004-05-02
  • 打赏
  • 举报
回复
面向对象的好处就在于封装、继承、多态、抽象等特性。
就看楼主的两个程序,面向过程在求一个Rectangle的周长和面积时,每次都要传递参数;而length、width本来就是一个rectangle的两个要素,显然封装在一个类中是一个很自然的想法,你也不用每次求周长和面积时都要传参了。
当你用到虚函数时他有更大好处,等等。
你应该多接触多领悟。
kflwz 2004-05-02
  • 打赏
  • 举报
回复
ding
hewei2003 2004-05-02
  • 打赏
  • 举报
回复
Java中有抽象类和接口这些的,应该是用来实现多态性的

面向对象与面向过程最重要的是编程思想不同,在Java中,万事万物皆对象。
kflwz 2004-05-02
  • 打赏
  • 举报
回复
谢谢前面这位兄台的帮助,可是能否在说的详细一些,我想知道通过这个程序能对比较面向对象编程和面向过程编程起到什么样的作用?

另外,Java中有虚函数么?他是用来做什么的呢?

多谢!

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧