首先出道题目:小浩先跳起来,然后踹了老师一脚,随后摔门而出。用c#将这个过程描述在控制台(简单打印在控制台就行)
答案如下:
用面向过程的方法:
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("小浩先跳起来,然后踹了老师一脚,随后摔门而出。");
}
}
用面向对象的方法:
using System;
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.name = "小浩";
p.show();
}
}
class Person
{
public string name;
public void show()
{
Console.WriteLine(name + "先跳起来,然后踹了老师一脚,随后摔门而出。");
}
}
看起来 面向对象好像也没啥优点。
但是我们将题目修改一下:
小浩先跳起来,然后踹了老师一脚,随后摔门而出。小辉先跳起来,然后踹了老师一脚,随后摔门而出。小明先跳起来,然后踹了老师一脚,随后摔门而出。
我再将题目修改一下:
求1--50所有自然数加起来的和。求1--100所有自然数加起来的和。求1--500所有自然数加起来的值。等等。
我用面向对象的思想写一下代码:
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine(sum(1,50));
Console.WriteLine(sum(1,100));
Console.WriteLine(sum(1,500));
}
static int sum(int n, int m)
{
int sum = 0;
for(int i = n;i<m;i++)
{
sum += i;
}
return sum;
}
}
我先是写了一个sum()方法,这个方法的功能是计算从n到m的值。所谓的面向对象思想其实就是讲一切都抽象化,当你去计算的时候,不要想着代入具体数值,而是用类思想来解决,我们这里用的就是n和m,两个int 类;当你去买东西,有动作的时候,不要想着是具体某个人,Person类,当是小明的时候,我们就实例化一个对象,叫小明,当时小刚时,实例化的对象的名字就叫做小刚。
在这里,1、50、100、500、小明、小刚、小浩、小辉都是对象。