黑马程序员——面向对象之初晤:过程化、模块化、对象化之别

来源:互联网 发布: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培训、期待与您交流! ----------------------

原创粉丝点击