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>、期待与您交流! ----------------------
|