什么是面向对象?和面向过程的区别是什么?

首先出道题目:小浩先跳起来,然后踹了老师一脚,随后摔门而出。用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、小明、小刚、小浩、小辉都是对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值