惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
WordPress大学
WordPress大学
Jina AI
Jina AI
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
腾讯CDC
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
月光博客
月光博客
博客园 - Franky
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
雷峰网
雷峰网
小众软件
小众软件
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 小林子

jQuery技术简介 在ASP·NET中实现页面之间的传参 Remoting简介 xml简介 关于CSS XAML简介 什么是WCF 泛型的优点 COBOL语言简介 C#与VB.net的不同 vss Ajax的工作原理 Ajax优点和缺点 上传图片到服务器中的代码(并把图片的名字用当前时间来代替) DetailsView中编辑内容的设置内容和获取内容的方法 实现上传图片之后显示预览javaScript代码 在页面中通过地址栏传值的方法 一般后台执行类的写法 GridView的用法总结(代码收藏)
OOP是什么?
小林子 · 2008-04-29 · via 博客园 - 小林子

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++ 这些语言玩了好几年,也只是用上了面向对象的语法,而没有形成面向对象的思考方法。