一、面向对象介绍

  OOP是使用独立的对象(包含数据和代码)作为应用程序模块的范例。虽然OOP不能使得代码容易编写,但是它能够使得代码易于维护。将数据和代码结合在一起,能够使定位和修复错误的工作简单化,并最大限度地减少对其他对象的影响,提高代码的性能。一般OOP都支持一下三个概念:

1)封装:把相关的数据和代码结合在一起,并隐藏了实现细节。封装的好处是有利于程序的模块化,并把代码和其他代码分开

2)继承:是指一个新的对象能够从父对象中获取属性和方法,这种概念能用来建立VCL这样的多层次的对象,首先建立通用对象,然后创建这些通用对象的有专用功能的子对象

3)多态性:从字面上看,是指多种形状。调用一个对象变量的方法时,实际被调用的代码与实际在变量中的对象的实例有关

二、Delphi不支持多继承

  Delphi不想C++那样支持多继承,多继承是指一个对象能够继承两个不同的对象,并包含有两个父类对象的所有数据和代码

  Delphi提供了两种方法来解决这个问题

1)在一个父类中包含其他的类,你能从Delphi的VCL中看到这种解决方法。

2)使用接口

三、需要了解的Delphi的面向对象相关的三个术语

1)域(field),也被称为域定义或者实例变量,域是包含在对象中的数据变量。在对象中的一个域就像是在Delphi记录一个域,在C++中它被称为数据成员

2)方法(method),属于一个对象的过程和函数名,在C++中它被称为成员函数

3)属性(property),属性是外部代码访问对象中的数据和代码的访问器,属性隐藏了一个对象的具体实现的细节

  注意:最好不要直接访问对象的域,因为实现对象的细节可能改变。相反用访问器属性来访问对象,它不受对象细节的影响

四、基于对象和面向对象的编程

  在某些工具中,你能操作对象但是不能创建对象,Visual Basic中的ActiveX控件(以前成为OCX)就是例子。虽然在程序中你能用ActiveX控件,但是你不能创建它,也不能派生它。这样的环境就被称为基于对象的环境

  Delphi是完全的面向对象的环境,这表示在Delphi中你能用已经存在的组件创建新的对象,这些对象是可视的或者不可视的,甚至可以是设计时的窗体

Delphi面向对象编程的更多相关文章

  1. 买了本Delphi面向对象编程思想,正在看,产生些问题。

    1:第33页说,Delphi通过调用类的一个构造函数来建立一个对象的实例,对象至少有一个create()的构造函数,使用时候写MyObject:=TmyObject.create即可.   但是第37 ...

  2. Delphi面向对象的编程思想

    第一章.建立面向对象的新思维 1.1.1历史背景 目前对象技术的前沿课题包括设计模式.分布式对象系统.和基于网络的对象应用等 目前面向对象的语言包含4个基本的分支: 1.基于Smalltalk的:包括 ...

  3. Delphi_09_Delphi_Object_Pascal_面向对象编程

    今天这里讨论一下Delphi中的面向对象编程,这里不做过多过细的讨论,主要做提纲挈领的描述,帮助自己抓做重点. 本随笔分为两部分: 一.面向对象编程 二.面向对象编程详细描述 ------------ ...

  4. Delphi COM编程学习笔记(1)

    释放接口对象,既不是调用MyObj.Free,也不是MyObj.Release;破坏对象的正确方法是将它们设置为nil:MyInterface := nil; 一个接口不能离开实现它的对象而独立存活. ...

  5. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  6. 带你一分钟理解闭包--js面向对象编程

    上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...

  7. PHP 面向对象编程和设计模式 (1/5) - 抽象类、对象接口、instanceof 和契约式编程

    PHP高级程序设计 学习笔记 2014.06.09 什么是面向对象编程 面向对象编程(Object Oriented Programming,OOP)是一种计算机编程架构.OOP 的一条基本原则是计算 ...

  8. python基础-面向对象编程

    一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...

  9. 面向对象编程(OOP)

    什么是面向对象编程,对于面向对象编程与面向过程编程的解释随处可见,个人认为对面向对象编程解释最好的一个定义是:依赖倒转原则是面向对象编程的标志,面向对象编程是一种思想,无论使用哪一种编程语言,如果在编 ...

随机推荐

  1. qt-5.6.0 移植之tslib 配置及编译

    tslib 是qt启动时的一个触屏校正检验程序. 它的配置以及编译比较简单. 第一步, 下载tslib源码包: http://download.csdn.net/detail/MKNDG/329156 ...

  2. Objective C 内存管理[转]

    1  配对原则 alloc – release new – release retain - release copy – release 2  new和alloc-init的区别 (1)区别只在于a ...

  3. 如何用js控件div的滚动条,让它在内容更新时自动滚到底部?

    三种控制DIV内容滚动的方法: 方法一:使用锚标记要滚动到的位置,然后通过click方法模拟点击滚动到锚所在位置 <script language="javascript1.2&quo ...

  4. ubuntu14.04 server安装vncserver

    $ sudo apt-get install -y tightvncserver $ vncserver 转自: https://www.liquidweb.com/kb/how-to-install ...

  5. 《Head First Servlet JSP》学习笔记

  6. c#.net对excel的操作——创建一个excel报表两个sheet就是2个表分别添加内容

    添加引用:Microsoft.Office.Interop.Excel //创建excel对象,就是实例化一个excel对象            Application excel=new Appl ...

  7. 关于QQ使用的一些代码

    http://wiki.open.qq.com/wiki/website/网站接入wiki索引

  8. 【leetcode】Edit Distance

    Edit Distance Given two words word1 and word2, find the minimum number of steps required to convert  ...

  9. Window 下 Qt5 使用QMediaplayer 进行视频播放 流播放问题

    int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *widget = new QWidget; widget ...

  10. ios 使用xib时,在UIScrollView中添建内容view时,使用约束的注意

    请参与一下链接:http://segmentfault.com/a/1190000002462033 简单的说下,就是必须写满一个view的6个约束,就是上下左右高宽,让scrollview 能够根据 ...