面向对象的编程 C# 篇


为什么要面向对象?


诚然,PO编程解决大型软件并不是没有特例,庞大的linux系统不也是用C堆砌成的么?但在我们常用的商业软件中,绝大部分会用到OO而不是PO。首先重编程的本质上来说起,编程的本质其实是对事物的抽象,我们将实物抽象成数据结构,比如我们要模拟一台汽车的加速过程,我们得有汽车的数据结构

Struct car{

Int weight;

Int power;

Int speed;

}

然后对汽车各个参数进行物理模拟运算。在OO编程中提供给了我们一种忽略细节的能力,汽车是由轮子,底盘等组成,就好像我们造一辆汽车一样,如果我们可以把底盘,轮子,按照软件留给我们的接口将他们组装起来,使得我们并不需要关注底盘是怎么造的这种细节活,这样就大大的加大了我们的工作效率并且减少软件出错的可能性。

注:OO的由来可以自行google“软件危机”

 

最简单的C#程序


强烈建议新手学习时用vs图形拖拽界面,这样会影响你对整个过程的理解,等到整个面向对象语法差不多的时候开始去看图像界面的编程,这样会对整个面向对象有个新的认识;

 

首先还是从控制台程序入门也就是新建一个控制台程序。下面是一个hello world程序

 

namespace ConsoleApplication7

{

    class Program

    {

        static void Main(string[] args)

        {

Console.WriteLine(hello world);

        }

    }

}

运行后,界面会有一个黑框一闪而过,要看到结果我们只需要在Main()函数的结尾加一句

Console.ReadKey();

这个和C语言编程中我们在最后加上一句 getch();的原理一样。

C#中是从Main函数为程序入口,即所有的程序都是重这里开始的,我们要执行的程序全放在Main()函数里面,然后就会顺序执行了,这个和C语言是一样的。

 

好了,我们现在我们要新建一个函数,他的作用是打印hello world

 

 

namespace ConsoleApplication7

{

    class Program

    {

        static void Main(string[] args)

        {

printhello();

Console.Readkey();

        }

        static void printhello()

        {

             Console.WriteLine(“hello world”);

      }

    }

}

 

想必细心的同学都注意到了,这里我们新建的函数前面都有一个static ,好奇的同学会把前面的static去掉,结构发现无法编译。这个是怎么回事呢?这个就得从面相对象的基本元素类说起。

 

类是所有面相对象里面的基本要数,面相对象的所有结构都是基于对象的。对象就是我们前面所说的汽车轮胎,所有的事物都可以抽象成对象,而类是对象的模板,就好比轮胎的图纸,我们可以通过这张图纸无限复制出轮胎。

 

前面的 class Program{}就代表这是一个类。类=属性+方法。就好比你要计算机抽象一个你理想中女朋友的模型,属性就代表他的三围 a,b,c;是一些实实在在的数据类型。方法就代表她需要的技能如 eat(){}(女同学们轻拍),注意这里没有static


 class GirlFriend

{

int a;

int b;

int c;

void eat()

{}

}


C#中如果你加上static 就代表这个方法或属性不是这个类中的了。属于全局的,我们放在类里面实属语法规则,也就是说如果我们吧所有的方法都加上static 就和C语言,我们就可以像C语言那样写程序了。

 

所以在上面printhello()中,如果前面没有加上staticprinthello就属于类里面的方法,那么如果我们要使用该方法应该按照以下的方法来使用;


namespace ConsoleApplication7

{

    class Program

    {

        static void Main(string[] args)

        {

             Program hello = new Program();

Hello.printhello();

Console.Readkey();

        }

        void printhello()

        {

             Console.WriteLine(“hello world”);

      }

    }

}

 


Program hello = new Program();这句的意思就是根据图纸造轮胎的过程,其中的hello就是对象的名字,我们根据名字引用方法。就好比你的有个找到个女朋友,然后调用吃东西,他就可以吃了。前提是你的有一个女朋友,new 关键字就给你创造一个“实例”女朋友

 

下节具体介绍类中的细节。

To be continue...


转载于:https://my.oschina.net/timharris/blog/196247

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值