面向对象设计思想20160528

来源:互联网 发布:阿里妈妈解绑淘宝账号 编辑:程序博客网 时间:2024/06/05 08:46

    最近在学习com,涉及到了一些接口、类、继承等概念,这些概念感觉很抽象,因为之前一直接触的是c语言,翻看《c++编程思想》这本书了解了一些关于面向对象的知识,接下来主要介绍面向对象思想以及c语言的结构到c++类的过渡。写这些一来检验自己是否理解了这些知识;二来若以后忘掉了某些相关的知识可以方便学习。

面向对象通俗的讲就是通过程序对实际问题进行建模,对问题进行抽象,比如汇编语言就是对底层机器进行的抽象。通过什么方式建立抽象呢?我们怎么用编程语言去表示具体问题中的对象呢?c++语言中引入了类(class)。类(或者类型)同c语言中的结构(struct)意思差不多。结构能定义各种变量的集合,并把它们视为一个整体,eg:

 struct   Horse

  {

     int age;

    char name[20];

    int height;

   } sliver;

这里我从c语言的结构过渡到c++的类。struct定义了一个新的类型Horse,sliber是Horse类型的变量,age、name[20]、height是结构体成员。在c++中class的作用同struct的作用是一样的,可以定义一个新的类(类型),eg:

 class  IX

{

public:

 virtual void Fy1()=0;

 virtual void Fy2()=0;

};

IX即是class定义的一个新的类的名字,即类型名。程序元定义类就是为了与具体的问题相适应,本例中未给出IX类型的变量,IX类型的变量又叫做实体(instance)或者对象(object),实体(instance)同上文提到的sliver类似,每一个对象都有一个接口,上文中提到的Fy1()和Fy2()就是对象成员,又可以成为接口函数。接口规定我们能向该对象发送什么样的请求,对象对每一个请求都有相应的执行函数。当向对象发请求时接口就会调用相应的函数,这个过程称作向对象发送消息(提出请求),对象根据这个消息确定做什么(调用什么执行代码)。

    类中的成员不是所有程序员都能访问的,比如我们在定义新的类的时候可以控制类的边界,即能访问哪些成员不能访问哪些成员。在c++中使用了三个关键字控制类的边界:

public、private、protected,这些关键字确定谁能用随后的定义。顾名思义,public后面对定义任何人都可以使用;相反private后面的定义除了类型的创建者和内部成员函数之外任何人都不能使用,如果使用编译时就会报错;Protected在继承时用的,在com中尚未见到,暂且未去关注。

      本人对面向对象设计了解的比较少,哪里有不对的地方还希望前辈指正,将不胜感激。






1 0
原创粉丝点击