浅谈类和对象以及对象的使用

来源:互联网 发布:德国舍弗勒集团 知乎 编辑:程序博客网 时间:2024/05/18 02:42

什么是类

类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。

类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的。这些行为是通过一种操作接口来描述的(也即平时我们所看到的类的成员函数),使用者只关心的是接口的功能(也就是我们只关心类的各个成员函数的功能),对它是如何实现的并不感兴趣。而操作接口又被称为这类对象向其他对象所提供的服务。

 
什么是对象

 

对象,如果说类是一个抽象概念,那么对象就是具体对象。比如我们说‘人’就是一个抽象概念,但是具体到某个人,比如你,我,他,就是一个‘人’对象。

对象是类的实例。对象是属于某个已知的类。因此,定义对象之前,一定要先定义好该对象的类

 

举个例子说明,下面把对话框类与人这个类作对比

                        对话框类————————————————————————————————人

 

                             |                                                                                                       |                

            聊天对话框CChatDlg(派生出来的特定类,抽象的概念)                       将军 (也是一个抽象的概念)  

 

                             |                                                                                                      |

            CChatDlg  m_ChatDlg; 实例化 CChatDlg类                                          将军  甲(任命甲为将军)

 

                             |                                                                                                       |

            ChatDlg.Create(IDD_CHAT_DIALOG, NULL)                                 给甲进行培训(习武,习兵法,礼仪。。。等等)

                             |                                                                                                        |

                        

                   ChatDlg.Function1();                                                               带兵打仗(方法的调用)

                             |                                                                                                        |

关闭对话框(仅是对话框销毁了,内部资源热盎然存在)                               罢免官职(注意虽然罢免了,但仍然会带兵打仗) 

                             |                                                                                                        |

              m_Chat的生命周期结束,自动析构内部资源                                           人老病死(所有的东西都没了)

 

 

 

Call Create to create a modeless dialog box using a dialog-box template from a resource.//Msdn

Create:相当于给甲配备一些属性(譬如年龄,本事,相当于实例化对象)

 

 

 

原创粉丝点击