回 帖 发 新 帖 刷新版面

主题:[原创]C++第一讲---类与对象

    面向对象是计算机认识世界的一种方式,面对于花花绿绿的世界,计算机是怎样认识这个世界呢?人类为了描述这个世界,在数学上有一种重要的数学模式,分类别。计算机是人类发明的,自然也采用这样的一种模式。这就是面向对象。。。。。。。。
    计算机把信息世界分为很多个部分,每一个部分需要有共同的特征。这就像共和国的宪法一样,制定了很多规范,定义了很多概念。这里的概念,计算机把它叫做类(class)。
    每一个概念都有其静态和动态的部分。例如:人的概念,静态的有年龄(int),姓名(String),性别(bool)。。。。。。。等等等等;动态的有,吃饭(吃什么,在那里吃,吃的好吗),上班(干什么,怎么去,先做什么,后作什么,今天发奖金吗,今年提职吗)等等等等。。。。。
这就是类的概念。静态的我们叫做属性,动态的我们叫做方法。即一个类包含2方面的因素:静态的成员变量(属性)和动态的成员函数(方法)。程序代码如下
class Person//class类的标识   抽象的,现实中不存的,仅为一个概念
{    
public://以后在讲述
    //成员变量
    int Age;
    bool Sex;
    char Name[10];


    //成员函数
    void Work(int type)
    {
        if(type<22)
            printf("我是一名学生,正在学习\n");
        if(type>22)
            printf("我是一名工人,为时会主义而努力奋斗\n");
    }
    void Eat(bool type)
    {
        if(type==false)
            printf("建议吃减肥健美之食物\n");
        if(type==true)
            printf("建议吃健身增寿之食物\n");
    }
};
概念是抽象的,并不是现实生活中一个个活生生的实例,计算机要描述世界,需要这样的实例,在计算机的概念里,把实例叫做对象。这就是面向对象的第一大思想,类与对象。
void main()//主函数
{
    Person me;//对象 现实生活中的事务,实际存在的
    me.Age=18;
    me.Sex=false;
    me.Name[0]='A';me.Name[1]='l';me.Name[2]='i';me.Name[3]='c';me.Name[4]='e';
    Person you;//对象  现实生活中的事务,实际存在的
    you.Age=30;
    you.Sex=true;
    you.Name[0]='B';you.Name[1]='o';you.Name[2]='b';
}

对象调用方法:
    me.Work(me.Age);me.Eat(me.Sex);//对象调用方法
    printf("\n");
    you.Work(you.Age);you.Eat(you.Sex);
输出结果:
我是一名学生,正在学习
建议吃减肥健美之食物

我是一名工人,为时会主义而努力奋斗
建议吃健身增寿之食物
 
完整程序代码
class Person//class类的标识   抽象的,现实中不存的,仅为一个概念
{
public://以后在讲述
    //成员变量
    int Age;
    bool Sex;
    char Name[10];


    //成员函数
    void Work(int type)
    {
        if(type<22)
            printf("我是一名学生,正在学习\n");
        if(type>22)
            printf("我是一名工人,为时会主义而努力奋斗\n");
    }
    void Eat(bool type)
    {
        if(type==false)
            printf("建议吃减肥健美之食物\n");
        if(type==true)
            printf("建议吃健身增寿之食物\n");
    }
};

void main()//主函数
{
    Person me;//对象 现实生活中的事务,实际存在的
    me.Age=18;
    me.Sex=false;
    me.Name[0]='A';me.Name[1]='l';me.Name[2]='i';me.Name[3]='c';me.Name[4]='e';
    Person you;//对象  现实生活中的事务,实际存在的
    you.Age=30;
    you.Sex=true;
    you.Name[0]='B';you.Name[1]='o';you.Name[2]='b';

    me.Work(me.Age);me.Eat(me.Sex);//对象调用方法
    printf("\n");
    you.Work(you.Age);you.Eat(you.Sex);
}
当对象代表了现实生活中的实例之后,程序也就完成了描述信息的使命,纵观整个面向对象编程,程序员整天描述的问题也就是这些东西,书写一个类,声明一些对象,然后调用方法。OK,你明白了吗。
总结:这就是神秘的类与对象概念,面向对象的第一大思想。本文还提出了成员变量,成员函数的概念。关于面向对象的其它思想,且听下回分解。

回复列表 (共17个回复)

11 楼

挺好的。

12 楼

[quote]我将一点一点向下写,准备写道COM编程,子子孙孙无穷尽也[/quote]
楼主有意思

13 楼

“我将一点一点向下写,准备写道COM编程,子子孙孙无穷尽也“
楼主有意思

14 楼

顶!向楼主学习!

15 楼

对于学习C++我与ccpp先生的看法有所不同。我认为:既然要学C++,没有必要先学C语言,再学C++。因为C++是C语言的继承和发展,如果学习了C语言,一些C语言的传统用法并非C++的标准,再学C++时不容易改掉,所以如果没有学过C语言的朋友最好一开始就按照C++标准编写程序,养成C++的编程风格。

16 楼

很形象,不错,好东西.楼主加油.期待..

17 楼


支持,学习,嘿嘿

我来回复

您尚未登录,请登录后再回复。点此登录或注册