深圳台风卡努:请问高手OOP语言是什么?
OOP=ObjectOrientedProgramming,=面向对象的程序设计
对象(Object):包含一定的数据结构和状态的实体。
操作(Operation):作用于对象的行为,如访问和处理对象的状态。
封装(Encapsulation):定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。
Ada83已经支持上述3个特性,因此被称为基于对象(oriented-based)的语言;但面向对象程序设计经过十年的发展,Ada95基于上述要素又增添了以下两个Ada83不支持的要素:
继承(Inheritance):通过继承现有类型的性质,创建新的数据类型,而不影响原有数据类型。
多态性(Polymorphism):判定数据类型集合中各类型的区别,使程序可以按照它们的共同特性来书写。
对新特性的需求是由三份报告[Dod1990]指出的,具体见AdaRantinale的PartTwo-4ObjectOrientedProgramming--4.1BackgroundandConcepts,可以更好的理解继承和多态性。
OOP的继承从理论上讲是模仿人的思考方法,将对象分类,如:car,bus这两个数据类型是从数据类型vehicle继承而来的,它们作为vehicle的一类,自然继承了vehicle的特性,同时具有自身独有的特性;而wheel却不是vehicle的一类,只是vehicle的一个组成部份,因此不是从vehicle继承而来。同样,vehicle有一些操作,如start,reverse,car和bus也继承下来,如果必要,也可加上自己独有的操作,如drive_at_200mph。但在实际程序中,人们往往忽视了面向对象的内涵,甚止于C++这些语言玩了好几年,也只是用上了面向对象的语法,而没有形成面向对象的思考方法。
面向对象的程序设计 (Object Oriented Programming)
OOP =Object Oriented Programming,=面向对象的程序设计
对象(Object):包含一定的数据结构和状态的实体。
操作(Operation):作用于对象的行为,如访问和处理对象的状态。
封装(Encapsulation):定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。
Ada 83 已经支持上述3个特性,因此被称为基于对象(oriented-based)的语言;但面向对象程序设计经过十年的发展, Ada95 基于上述要素又增添了以下两个 Ada83 不支持的要素:
继承(Inheritance):通过继承现有类型的性质,创建新的数据类型,而不影响原有数据类型。
多态性(Polymorphism):判定数据类型集合中各类型的区别,使程序可以按照它们的共同特性来书写。
对新特性的需求是由三份报告[Dod 1990]指出的,具体见 Ada Rantinale 的 Part Two- 4 Object Oriented Programming-- 4.1 Background and Concepts,可以更好的理解继承和多态性。
OOP 的继承从理论上讲是模仿人的思考方法,将对象分类,如:car,bus 这两个数据类型是从数据类型vehicle 继承而来的,它们作为 vehicle 的一类,自然继承了 vehicle 的特性,同时具有自身独有的特性;而 wheel 却不是 vehicle 的一类,只是 vehicle 的一个组成部份,因此不是从 vehicle 继承而来。同样,vehicle 有一些操作,如 start,reverse, car和bus也继承下来,如果必要,也可加上自己独有的操作,如 drive_at_200mph。但在实际程序中,人们往往忽视了面向对象的内涵,甚止于 C++ 这些语言玩了好几年,也只是用上了面向对象的语法,而没有形成面向对象的思考方法。
OOP语言就是面向对象的语言,一般都包含面向对象的三大特征:封装、继承和多态。
比较代表性的语言从最开始的SmartTalk到C++到纯面向对象的JAVA(不写类都不行~呵呵)