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 鸡类 : 动物类 { }
浙公网安备 33010602011771号