黑马程序员——面向对象之初晤:过程化、模块化、对象化之别
来源:互联网 发布:painter软件破解版 编辑:程序博客网 时间:2024/06/06 09:55
---------------------- android培训、java培训、期待与您交流! ---------------------
1、就几天所学习的java语言来看
A、从最开始时的所有程序代码都在main(){}函数里,可以理解为过程化、流水式程序设计;
B、到将一些实现特定功能的代码块,定义为函数,提取到main(){}函数的外面,然后从main(){}函数里调用外面定义的函数,可以理解为模块化程序设计;
C、到将对同一物体的所有特定功能集中到一块,封装成一个整体,而这个整体就是对象,而主程序(){}则直接去寻找对象,而将执行的动作则交给对象去处理,可以理解为对象化程序设计;
2、下面就一个数组例子的理解:
A:过程化程序设计:
class arr
{
public static void main(String[],args)
{
int[4] array={1,2,3,4};
//用for循环打印每个数组的值
for(i=0;i<4;i++)
{
System.out.println("array[i]="+array[i]);
}
//用for循环计算数组元素总和
int sum=0;
for(i=0;i<4;i++)
{
sum+=array[0];
}
//输出总和
System.out.println(sum);
}
}
程序从上到下一步一步的执行,完成所有的功能;
B、模块化程序设计:
class arr()
{
public static void main(String[],args)
{
int[4] array={1,2,3,4};
printArray(array);
add(array);
pinrtSum(add(array));
}
//用for循环打印每个数组的值
public static void printAarray(array)
{
for(i=0;i<4;i++)
{
System.out.println("array[i]="array[i]);
}
}
//用for计算数组的元素总和并返回总和
public static int add(array)
{
int sum=0;
for(i=0;i<4;i++)
{
sum+=array[i];
}
return sum;
}
//打印数组元素总和
public static void printSum(sum)
{
System.out.println(sum);
}
C、对象化程序设计:
class array
{
//用for循环打印每个数组的值
public static void printArray(array)
{
for(i=0;i<4;i++)
{
System.out.println("array[i]="array[i]);
}
}
//用for计算数组的元素总和并返回总和
public static int add(array)
{
int sum=0;
for(i=0;i<4;i++)
{
sum+=array[i];
}
return sum;
}
//打印数组元素总和
public static void printSum(sum)
{
System.out.println(sum);
}
class arr()
{
public static void main(String[],args)
{
array.printAarray();
array.add();
array.printSum();
}
3、转变历程:
A、将流水式过程化中的相同的功能抽取组成一个函数,实现特定的功能,然后从主函数或者其他函数中调取这些函数,完成从过程化到模块化的转变;
B、将对同一个物体的所有操作(函数)整合在一块,直接对物体进行操作,而不需要过问物体是怎么操作了,完成了从模块化到对象化的转变;
C、其过程可视为抽象化过来,越来越抽象,对于主函数来讲,越来越简单,主函数只需要调动对象,就是将复杂的东西简单化,明了化;
-----------------------android培训、java培训、期待与您交流! ----------------------
- 黑马程序员——面向对象之初晤:过程化、模块化、对象化之别
- 黑马程序员—Java之面向对象
- 黑马程序员------面向对象之对象
- 黑马程序员————面向对象之封装
- 黑马程序员————面向对象之继承
- 黑马程序员——面向对象之继承学习笔记
- 黑马程序员——C#面向对象之索引器
- 黑马程序员——面向对象之继承
- 黑马程序员——面向对象之异常
- 黑马程序员笔记——Java面向对象之封装
- 黑马程序员笔记——Java面向对象之继承
- 黑马 程序员——java之面向对象
- 黑马程序员——JAVA基础之面向对象
- 黑马程序员——Java之面向对象
- 黑马程序员——java之面向对象总结
- 黑马程序员——Java之面向对象(一)
- 黑马程序员——面向对象之this关键字
- 黑马程序员 ——Java基础之面向对象
- 2010年中央、国家机关公务员录用考试 《行政职业能力测验》试卷
- Chrome源码剖析【三】 Chrome的进程模型
- Refreshing One Column based on the value of Another Column in ADFdi Table
- 第四周任务3 关于一个正整数的类
- effective C++笔记之条款22:尽量使用“传引用”而不用“传值”
- 黑马程序员——面向对象之初晤:过程化、模块化、对象化之别
- 分布式搜索方案选型之二:Solandra
- Vmware Server不能启动的解决方法(8333\32)
- C++字符串完全指引
- 使用位与运算代替取模运算
- eclipse常用插件在线安装地址或下载地址
- Java基础学习之(二)—对象与类的方法参数
- ibatis学习笔记(二) 基本操作
- 【微软面试题1】任意改变CPU占有率的几种方法【限winxp系统】