c++:
特点:封装性是基础,继承性是关键,多态性是补充,并且多态性存在于继承的环境中。
封装性
C++语言中支持数据封装,类是支持数据封装的工具,对象是数据封装的实现。在封装中,还提供一种对数据访问的控制机制,使得一些数据被隐藏在封装体内,因此具有隐藏性。封装体与外界进行信息交换是通过操作接口进行的。这种访问控制机制体现在类的成员可以有公有成员(public),私有成员(private),保护成员(protected)。
私有成员是在封装体内被隐藏的部分,只有类体内说明的函数(类的成员函数)才可以访问私有成员,而在类体外的函数时不能访问的,公有成员是封装体与外界的一个接口,类体外的函数可以访问公有成员,保护成员是只有该类的成员函数和该类的派生类才可以访问的。
类是一种复杂的数据类型它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。因此,类具有对数据的抽象性,隐藏性和封装性。
继承性
C++语言允许单继承和多继承。继承是面向对象语言的重要特性。一个类可以根据需要生成它的派生类,派生类还可以再生成派生类。派生类继承基类的成员,另外,还可以定义自己的成员。继承是实现抽象和共享的一种机制。
C++语言中的继承机制可以克服传统的面向过程程序设计的缺点,因为传统编程方式不能重复使用程序而造成资源的浪费,而c++语言提供了无限重复利用程序资源的一种新途径。
多态性
多态性是指对不同类的对象发出相同的消息将会有不同的实现。多态性也可以理解为,在一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或不同的实现。可见,多态性与继承性相关联。简单的说,多态性是指发出同样的消息被不同的数据类型的对象接收后导致不同的行为。
C++语言支持多态性表现在:
1,C++语言允许函数重载和运算符重载。
2,C++语言通过定义虚函数来支持动态联编,动态联编是多态性的一个重要的特征。
多态特性的工作依赖虚函数的定义,在需要解决多态问题的重载成员函数前,加上virtual关键字,那么该成员函数就变成了虚函数,从上例代码运行的结果看,系统成功的分辨出了对象的真实类型,成功的调用了各自的重载成员函数。
多态特性让程序员省去了细节的考虑,提高了开发效率,使代码大大的简化,当然虚函数的定义也是有缺陷的,因为多态特性增加了一些数据存储和执行指令的开销,所以能不用多态最好不用。
应用领域:游戏 网络软件 操作系统 设备驱动程序 VR
C#:
特点:是专门为.net 的应用而开发的语言,它吸收了C++、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华.C#继承了C语言的语法风格,同时又继承了C++的面向对象特性.不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果..NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境.同时,公共语言运行时(Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全.其特点有: 语言简洁. 保留了C++的强大功能. 快速应用开发功能. 语言的自由性. 强大的Web服务器控件. 支持跨平台. 与XML相融合.
应用领域:桌面应用程序 web应用程序 RIA应用程序 智能手机应用
.net:
特点:跨语言,跨平台,安全,以及对开放互联网标准和协议的支持. .NET支持多种语言的互操作,即在一种语言下开发的组件, 可在另一组件下通过面向对象的继承而得以重用. .NET通过将各语言先编译成中间语言(IL),
然后再执行时用即时(Just In Time)编译器将之编译成本地平台代码来实现异构平台下对象的互操作,
.NET通过公共语言运行库CLR(Common Language Runtime)来实现资源对象,类型的安全.
.NET通过对HTTP,XML等Internet标准的支持提供在异构网络环境下获取远程服务, 连接远程设备,交互远程应用的编程界面
应用领域:桌面系统开发 web开发 移动开发
php:
特点:1、开源性和免费性。由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。
2、跨平台性强。由于PHP的解释器是开源的,所以能够在所有的操作系统平台上非常稳定地运行,这使它成为常用的服务器语言。
3、快捷性。PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。
4、面向过程和面向对象并用。在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其他很多编程语言是做不到的。
5、运行高效性。由于PHP运行在相应的平台解释器上,消耗系统资源比较少,运行的环境简单,所以效率就很高。
6、数据库连接的广泛性。PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle、AdabasD、S等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
应用领域:服务端脚本 命令行脚本 编写桌面应用程序
python:
特点:1、主要是开发快,语言简洁,没那么多技巧,所以读起来很清楚容易。
2、C/C++可以写python的module,标准库里就有用C/C++写的东西,这个跟java的JNI类似。
3、python的gui一般是用tkinter,就是tk的python的wrapper。python没有像xna那么方便的工具。
4、python不是为了网络设计的。python是1991年有的,WWW是1993年才被CERN开放的。网络编程用python主要是为了开发快。
5、像VS那样功能强的IDE,有要钱的PyCharm和不要钱的PyDev。PyDev有Eclipse的插件版本或者是Aptana Studio版本。
应用领域:编程语言 数据库 多媒体windoes编程 科学计算 网络编程 工具集 协议 游戏编程 图形用户界面 集成开发环境 代码编辑器 软件测试 大数据处理
shell:
特点:1.把已有命令进行适当组合构成新的命令。
2.提供了文件名扩展字符(通配符,如* 、 ?、 [ ]),使得用单一的字符串可以匹配多个文件名,省去键入一长串文件名的麻烦。
3.可以直接使用Shell的内置命令,而不需创建新的进程,如Shell中提供的cd、echo、exit、pwd、kill等命令。为防止因某些Shell不支持这类命令而出现麻烦,许多命令都提供了对应的二进制代码,从而也可以在新进程中运行。
4.Shell允许灵活地使用数据流,提供通配符、输入/输出重定向、管道线等机制,方便了模式匹配、I/O处理和数据传输。
5.结构化的程序模块,提供了顺序流程控制、条件控制、循环控制等。
6.Shell提供了在后台执行命令的能力。
7.Shell提供了可配置的环境,允许创建和修改命令、命令提示符和其它的系统行为。
8.Shell提供了一个高级的命令语言,能够创建从简单到复杂的程序。这些Shell程序称为Shell脚本,利用Shell脚本,可把用户编写的可执行程序与Unix命令结合在一起,当作新的命令使用,从而便于用户开发新的命令。
应用领域:脚本语言 大数据处理 软件测试
oc:
应用领域:ios开发语言