黑马程序员技术交流社区

标题: C#中面向对象与面向过程(见解) [打印本页]

作者: 李恒权    时间: 2014-3-4 01:00
标题: C#中面向对象与面向过程(见解)
C#中面向对象与面向过程
---------------------- <a target="blank">ASP.Net+Unity开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------
面向过程就是分析出解决问题所需要的步骤,是需要判断语句(if语句、if-else语句、if-else if语句、switch-case语句)来解决,还是需要循环语句(while循环、do-while循环、for循环)来处理,或者运用方法,最后把这些步骤一步一步实现。也就是说面向过程就是简单的处理问题。
比如:
   class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = { 1, 3, 2, 5, 6, 4 };
            int sum,max,min;
            sum=Js(numbers,out max,out min);
             Console.WriteLine("数组的和为:{0}  最大值为:{1}  最小值为:{2}。",sum,max,min);
            Console.ReadKey();
        }
        static int Js (int[]number,out int max,out int min)
        {
           int sum=0;
          max=number[0];
            min=number[0];
        for(int i=0;i<number.Length;i++)
        {     
        sum=sum+number[i];
            if(number[i]>max)
            {
            max=number[i];
            }
            if(number[i]<min)
            {
            min=number[i];
            }   
        }
          return sum;
        }      
}
面向对象是把构成问题的事物分解成各个对象,简化程序的开发,面向对象内部的实现,写的还是面向过程的代码,它们是一个互补的关系。
面向对象有三大特性:
1、封装:把客观事物封装成抽象的类。类包含数据和方法,封装即控制数据或方法在哪里可以被访问。通过成员访问级别的控制,类可以隐藏类中属性和方法。
2、 继承:子类可以使用父类的所有功能,并且对这些功能进行扩展,子类自己也可以定义自己的功能。
3、多态:同种事物,多种状态。多态有两种方式:覆盖和重载。覆盖是指子类重新定义父类的方法,而重载是指同一个类中允许存在多个同名方法,而这些方法的参数不同。(这个和方法重载差不多。)
面向对象的三大特性具有一定的复杂性,这也是区别于面向过程的重要一点。
---------------------- <a target="blank">ASP.Net+Unity开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2