C++面向对象之浅谈

从今天起,我就开始学习c++了,终于要面向对象编程了(对象啊,希望真的可以有个对象)。我准备把每天的学习心得写成博文,分享给大家,都是新手,言语表达什么方面不合适的地方,欢迎指正(你猜我会不会改

首先,c++是一门面向对象的语言,他和面向过程的语言是本质上的区别。

面向过程的语言,采取的是自顶向下,全面的开发,在开发的过程中,一个人要负责绝大多数的内容,代码的重复利用率很低。

面向对象的语言,将的是万物皆对象,这门编程语言是从现实中抽象而来,在语言的设计上很大部分都是来源于我们身边的例子 。有人说,面向对象编程很难,很抽象,我就不这么认为。凡是这样说的都是不会动脑筋的。让我们来开动脑筋想一想,什么叫做对象,什么叫做类。

什么叫做对象?(那不就是男女朋友),错了,还真不是。我认为,对象就是现实生活中的一些个体,比如小红,小红家的猫,这都是一个个体,是和别的个体不同的。但是比如说小红是个人,她家的猫是只猫,这里的人和猫,就是类。那么这个类怎么定义的呢?  人这个类就可以这么定义, 两只脚走路,有自己的语言,会思考,作为一个人,他会走路,会说话等,这里的走路说话就是方法(即函数)。

当然从c和c++的角度来理解类和对象,我认为,类,我们可以理解为C语言中我们自己定义的一个新的类型,只不过这个类型里面,我们赋予他了自己的方法,(就像是我们人一样,可以自己思考厉害吧),对象 就是我们自己根据自己定义的类,声明的一个变量,这有声明了,并且初始化之后我们才能使用他。

这是我自己的理解,当然我自己是弄清楚了,可能我的表达能力不高,说不明白,请谅解。

当然,C++里面还有很多面向对象的特征,如继承,封装,多态,重载。这都是一定现实世界的反应。

就拿继承来说吧,在自然界中,各个物种的分类,比如猫科动物,他们都有一些特性,都是哺乳动物,有四条腿,有尾巴,等,狮子,熊猫,猫都是属于猫科,这里的猫科就可以看做是一个父类,而狮子,熊猫,猫可以看做的是子类,他们都继承了猫科的一些特点,但是有都具有各自的特色。前者叫做继承,各自的特点,就是多态。而封装,就是类中对象的一些特征,这是他自己决定的,别人是看不到的。多态就是比如他们的行走方式都是爬行,但是每一个的爬行方式都不一样。(这点我也不是很清楚,以前学过java,记得里面是这样写的,不准确之处请指正)

就这么多了,实在编不下去了,下次就开始正式内容了,拜拜。

请轻喷,大神留情。

时间: 2024-11-08 19:16:57

C++面向对象之浅谈的相关文章

python之面向对象编程浅谈

1.python中的类与对象 1 Python中定义类的方式比较简单: 2 3 class 类名: 4 5 类变量 6 7 def __init__(self,paramers): 8 9 def 函数(self,...) 10 11 …... 12 13 其中直接定义在类体中的变量叫类变量,而在类的方法中定义的变量叫实例变量.类的属性包括成员变量和方法,其中方法的定义和普通函数的定义非常类似,但方法必须以self作为第一个参数. 举例: 1 >>>class MyFirstTestCl

面向对象---内部类浅谈

成员内部类: /* * A:内部类概述 类中的类 * B:内部类访问特点 * a:内部类可以直接访问外部类的成员,包括私有. * b:外部类要访问内部类的成员,必须创建对象. * 外部类名.内部类名 对象名 = 外部类对象.内部类对象; */ (1)如何调用内部类方法 class Demo1_InnerClass { public static void main(String[] args) { //外部类名.内部类名 对象名 = 外部类对象.内部类对象; Outer.Inner oi = n

在Objective-C中浅谈面向对象

接触面向对象也有一段时间了,当时是通过C++学习的OOP,后来又接触到了PHP和Java.每种OOP的语言在面向对象上或多或少都会有不同的地方,现在在学习OC的面向对象部分,又感觉到OC面向对象的特点.写篇博文总结一下OC中的面向对象.刚接触OC,用OC中的便利初始化方法和便利构造器有点蹩脚,不过还可以在接受的范围之内,以下的东西可能会对面向对象的特征:抽象,封装,继承等总结的较少一些,主要总结了OC中面向对象的特点.在用到便利构造器的时候,如果之前学习过设计模式的话会好理解一些. 在下面的代码

浅谈JavaScript的面向对象和它的封装、继承、多态

写在前面 既然是浅谈,就不会从原理上深度分析,只是帮助我们更好地理解... 面向对象与面向过程 面向对象和面向过程是两种不同的编程思想,刚开始接触编程的时候,我们大都是从面向过程起步的,毕竟像我一样,大家接触的第一门计算机语言大概率都是C语言,C语言就是一门典型的面向过程的计算机语言.面向过程主要是以动词为主,解决问题的方式是按照顺序一步一步调用不同的函数.面向对象是以名词为主,将问题抽象出具体的对象,而这个对象有自己的属性和方法,在解决问题的时候,是将不同的对象组合在一起使用. //面向过程装

浅谈三层架构(2)

感受: 对于三层的学习,自己刚开始的感觉真的是一头雾水啊,当时真的出现了很烦躁的感觉,我想这种感觉的出现真的是很可怕的,就这样耽误了两天,在网上也搜寻者自己想要的资料,昨天四姐也好心给调试了一番,顿时把自己的大脑打通了,其实问题难不难,就在于能不能打开思路了! VB.NET的三层实现: 上篇文章主要是对于三层有了一个表面的理解,下面针对机房收费登陆界面来进行一下简单的理解: UI层主要就是表面的构建,多以需要使用windows窗体来完成,而其他BLL和DAL则不需要,之间建立一个类库则可以完成自

浅谈敏捷软件开发与传统软件开发

本文将介绍传统软件开发与敏捷软件开发,并简单分析二者的优缺. 首先我查阅相关资料大致了解了下为什么会爆发"软件危机"和什么是"软件危机".由于在早期的软件开发活动中有明显的个体化特征,开发流程不规范,人们没有将软件与程序加以详细的区别,对程序之外的数据和相关文档资料没有给予重视,对编写程序之外的软件活动也没有给予重视,因此出现了"软件危机"."软件危机"的特点有:开发成本急剧上升.不能按时交付软件.软件难以维护.无法保证软件质

浅谈委托和事件(一)

浅谈委托和事件(一) 关于委托和事件,可能是.NET或者说是面向对象编程语言中的一个比较重要又比较难以理解的概念.关于这一话题,园子里的人也写了很多文章,最经典的可能就是张子阳的C#中的委托和事件这两篇文章了,之前也看过MSDN 上的WebCast深入 "委托和事件".可能和很多人一样,刚开始读的时候,觉得很清楚,但是过了一段时间好像又忘记了委托和事件的区别,知道很久以前,在一次面试中我被问到委托和事件有什么区别,一下子就说不清了. 所以这里稍微理一下,也算是自己的一个总结.当然,还是

浅谈C++ IO标准库(1)

IO流:一.C++中标准IO库:1).为面向对象的标准库.2).以继承的形式设计.     A)以iostream为基类,派生出了fstream,strigstream类.注意:fstream.stringstream没有继承关系,open.close为fstream类自有的函数操作,str为stringstream自有的函数操作,故其各函数操作不可混用,而iostream中的函数操作其两子类由于继承关系可以调用.     B) 其禁用了复制和赋值操作,故IO对象不可以复制或赋值.这将导致像ve

浅谈C++多态性(转载)

转载:http://blog.csdn.net/hackbuteer1/article/details/7475622 C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言.我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握. 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念.多态(polymorphisn),字面意思多种形状. C++多态性是通过虚函数来实现的,虚函数允许子