C#入门

Class Begin!Let's Go!

开始前,我们先讨论一下什么是面向对象。

面向对象吗?嘿嘿!其实就是面向对象编程吗!如果你想知道它跟多的含义,百度一下吧!

在面向对象中最最重要的还是类和对象。

类??晕……上小学的时候,你一定已经知道你属于人类吧。没错!人类就是一个类。而你就是人类的一个具体实例,也就是我们所说的对象。当然你的对象跟这里所讲

的对象可是有点出入的,可别混啦!

如何声明一个类?额……这里我就不细说了,直接给出一个不伦不类的代码好了:

public class 人类
{
}
很简单把!

那么如何实例化一个类呢!

人类 你 = new 人类();

没有难度!

想想,其实你就是这么诞生的!

不扯了,看看代码: new 人类();  就是调用了类的构造函数。

额?...什么诗构造函数?构造函数干什么用的呢?

说明这之前,我们先来修改一下之前的人类。如下:

public class 人类
{
public string Name;
public int Age;//年龄
public int Height;//身高
public int Weight;//体重
public 人类(string name,int age,int height,int weight)//构造函数
{
Name
= name;
Age
= age;
Height
= height;
Weight
= weight;
}
}

好了,代码修改完成。

这时候就开始创造人了 如下:

人类 你 = new 人类("YinC",0,30,10);

看见了把,这下你应该知道了构造函数的作用了吧!他就是初始化字段。传说女娲就是这样造人的。

类和对象讲完了。

紧接着,应该就是属性和字段了。

在还没正式开始之前先介绍一下一些命名规范吧,以便于我们之后的一些变量的声明.

当然,你可以先不用特地记它,稍后再回过头看看也不迟。

 1.声明私有字段时,应当采用camelCase风格(以首单词小写字母开头)。
 2.公共属性和方法采用PascalCase风格(每个单词都以大写开头)。
 3.方法参数应当采用camelCase风格

关于,属性和字段的概念我想不用提了。

主要针对属性与字段的区别以及属性的作用进行详细分析。

面向对象引入类便是用来封装信息的,但封装信息就得保证信息的安全性。

接下来我给出关于银行卡的一个类。

public class BankCard
{
public string CardID;
public int Money;
}

如果银行卡类如此封装,那一点安全性都没有。

例如 你实例化了一张银行卡

BankCard myCard = new BankCard();

接下类,你完全可以随意的对里面的任何字段进行修改,完全不受限制。

如下

myCard.Money = 10000000;

难道百万富翁就是这样练成的??

为了解决这问题,银行得想方设法了,于是就有了属性。

我们把银行卡类做下修改:

public class BankCard
{
//字段
private string cardID;//骆驼命名
private string cardPassword;
private int money;

//属性
public string CardID
{
get { return cardID; }//设置为只读属性
}
public string CardPassword
{
//实际应用中我们通常会在属性中增加一些限制
get { return cardPassword; }
set { cardPassword=value;}
}
public int Money
{
get { return money; }
}
}

这样一来,安全稍有增加了。当然这个例子不能非常恰当,但在一定程度上还是可以说明属性的作用的。

而关于 set{} 和get{} 访问器 ,这里我们就不想多说了。

接下来在回过头,讨论一下类,假设我声明一个动物类。如下:

public class 动物类
{
}

但是,试想一下,动物类可以直接实例化吗?

如果可以,动物类实例化后是什么东西。

显然,动物类是不能被实例化的。所以在有些情况下我们并不希望有些类被直接实例化。为此,我们引入了抽象类。 

public abstract class 动物类
{
//抽象类是不能被直接实例化的,必须通过继承
}

所以我们便可以编写其他的类来继承动物类,例如

public class 猫类 : 动物类 { }
public class 狗类 : 动物类 { }
public class 鸡类 : 动物类 { }

posted on 2011-04-16 02:36  蘇銀城  阅读(377)  评论(0)    收藏  举报

导航