C#面向对象_1_基础思想

什么是面向对象

一种用编程语言来描述客观事物的思想,它不仅仅是一门技术或语法,而是一种思维方式。

从中文的角度来讲,类就是指一个类别一个种类,是指一个种类中的所有事物的共同的特征。就好像这个类别中的所有个体的模板一样。

类,也可以看做是一种由程序员自己定义的数据类型。比如:我们创造了一个数据类型是人类,那么这个类中的具体的一个成员就是这个类的一个数据。

在C#中,类用关键字class来表示。

抽象

当我们要开始一个软件的时候,其准备工作之一,就是要从软件的需求当中提取出有哪些类,比如:说我们要开始一个游戏,就要首先归结一个有哪些共同特征的事物(哪些类):玩家类,npc类 , 怪物类 , 花花草草,山川河流 。这些类都是我们在开始一个游戏之前要总结出来的,这个过程,就叫做抽象。

设计类的过程就是一种对现实世界或业务的抽象的过程。

抽象的步骤

也就是描述一个类的步骤

描述一类事物共同的静态特征,比如:身高、重量、年龄、型号

描述一类事物共同的动作能力特征,比如:说话、飞、游泳

对象

对象是指一个类中符合群体特征的一个具体的成员,它是实实在在存在的一个事物。

对象的每一项特征都应该具备具体的量化的数值。

创建类与对象的示例:

class dog {

        //定义的一个(种)类:狗
}
    dog 旺财 = new dog();
             //创建一个狗类中的成员
    dog 黑子 = new dog();
    dog 小白 = new dog();
    dog 大黄 = new dog();
//只要有类这个“模板”,我们就可以无限的创造这个类的对象。

实例化

利用一个类来创建一个具体的对象的过程,我们叫做实例化。

语法:

类名 对象名 = new 构造函数();

属性

就是指一个事物,或一类事物的特征,及其具体的值。比如:人类的身高、体重、三围、姓名、国籍、肤色、民族、姓氏。

示例:

class dog
    {
        public string 毛色;       //定义狗类有哪些属性特征
        public float 体重;
    }
    class Program
    {
        static void Main(string[] args)
        {
            dog 旺财 = new dog();
            旺财.体重 = 20;     //给旺财的每一项特征属性添加具体的值。
            旺财.毛色 = "金黄色";
            Console.WriteLine("我家旺财毛色是{0},重{1}斤",旺财.毛色,旺财.体重);
            //通过 对象名.属性名 的方式来调用对象的属性值
        }
    }

方法:
就是指一个事物,或一类事物的共有的动作能力,或可以执行的某种活动。
比如:所有的鱼类都可以游泳,所有的狗都会汪汪叫。
包含在类里面的变量我们也可以叫成员变量,同样,包含中类里面的方法也可以叫做成员函数。
示例:

class dog
{
public void 叫() {
Console.WriteLine("I am 旺财,汪汪汪");
}
}
class Program
{
static void Main(string[] args)
{
dog 旺财 = new dog();
旺财.叫();
}
}

注意:当我们用面向对象的方式来描述客观事物的时候,我们只需要来描述那些我们需要的属性和方法就可以了,而不是必需将这个事物的所有参数特征都描述出来,因为完全没有必要,就像写小说一样。

 面向对象的三大特征

封装

就是将不需要普通用户看到或操作的部分代码隐藏起来,以保护程序的安全性。只暴露出用户能访问的接口即可。

继承

一个类继承另一个类,那么前者也就具备了后者的特性。

多态

同一个事物对象,在不同的条件和环境之下,其所表现出来的形态是不一样的。

练习:

假设你现在要设计一款游戏,用面向对象的思想思考一下这个游戏里面有哪些类。可以尽可能的思考一些有创意的游戏。

猜你喜欢

转载自www.cnblogs.com/yigegaozhongsheng/p/9434508.html
今日推荐