导航:首页 > 编程语言 > delphi面向对象编程思想

delphi面向对象编程思想

发布时间:2022-02-14 02:25:46

1. 浅谈针对delphi面向对象的开发

Delphi 是完 全面向对 象的编程 环境。面 向对象程 序设计方 法 (Object-Oriented
Programming, OOP)比结构化方法(Structure Programming)能更自然地表现现实世界。如果说结构化程序设计是从系统的功能入手,按照工程的标准和严格的规范将系统分

解为若干功能模块,系统是实现模块功能的函数和过程的集合;那么面向对象程序设计则 是从所要处理的数据入手,以数据为中心而不是以服务(功能)为中心来描述系统。它把编 程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。面向对象设计同 结构化设计相比较最大的不同就是:前者关心的是要处理的数据,而后者则关心需实现的 功能。
面向对象的程序设计(Object Oriented Programming,OOP)指的是一种编程方法,或者
说是一种编程思想。OOP 有三大特点,即数据封装、派生和多态。如果某种编程语言符合 这三种特性,就可以说它是支持 OOP 的。Visual C 是完全支持 OOP 的。Visual Basic 只支 持数据封装,不支持派生和继承,因此它不是完全的 OOP 语言。虽然 Visual Basic 号称通 过多重 ActiveX 接口来支持多态,但大家都知道,它连派生都不支持,是不可能真正支持 多态的。所以 Visual Basic 被称为“伪 OOP 语言”。很多人以为数据封装就是 OOP,这是 不对的。数据封装只是 OOP 的一个特性,一些非 OOP 语言也支持数据封装。这一点非常 重要!
面向对象的设计方法是对现实世界客观存在的事物的抽象的概括,人们所创造出的类
与对象都是某一实体的模型。举例来说,某厂要生产一个 A 型灯泡,这一过程就需要有个 动作施加的对象——灯泡,这个灯泡有一些属性:亮度、材料、重量等。它也可以有很多 的动作,无论是主动的还是被动的,灯泡可以亮灭,可以旋拧,甚至可以爆炸,这些都是 与它有关的动作。所以说“对象”一旦被确定下来,相应的“方法”也就可以总结出来。 于是人们就做出了一个生产 A 型灯泡的模型——类。再举一个典型的例子,在输入 DOS 删除文件的命令的时候,通常在 DOS 操作符后输入“delete c:\command.dat”,这时可能会 看到出现提示:file not found。这是因为动作所要施加的对象不存在。而面向对象设计方法 则在编译的时候就解决了这个问题,而不会等到运行阶段,用户可以先知道对象是什么, 然后去了解它有哪些动作。无论是书写的对象还是调用的方法出错,都会在编译的时候报 错,方便修改,而不是在执行的时候出错。这就是面向对象的设计方法一个重要的特性
——封装(Encapsulation)。 同时,面向对象又能解决代码重用的问题——继承(Inheritance)。再来看灯泡,如果还
想生产兼有 A 型灯泡的优点而又更加高级的灯泡怎么办?如果完全抛弃 A 型灯泡的模型重 新创造,那么先前的所有工作都将被埋没,这明显是资源的浪费。因此,只需要“派生” 一个 B 型模型(派生类),在 A 型模型(基类)的基础上,加上新的特性。那么程序写完了, 就可成功地重用了以前的代码。Delphi 的 VCL 类库给用户提供了很多的基类。
继续沿用灯泡的例子,假如要生产灯泡,可以表示为“灯泡.生产”。通过“生产”这
个唯一的命令(接口)员工就需要去制作 A 型或 B 型的灯泡,换句话说,通过调用一个接口 可以实现两种不同的操作,那么这就是多态性。多态是面向对象的灵魂所在,理解多态是 掌握面向对象技术的关键之一。在后面的章节中将详细介绍多态性。
面向对象设计思想中还包含对消息机制的理解。我们把类之间的通信过程归结为消息
的传递,理解了消息机制,将更加促进对类的实现及操作方式的掌握。

2. delphi与c语言比较有什么特点

在Windows平台上说起实用来,当然还是Delphi更实用咯!
1.Delphi具有快速开发环境,其效率是VC的n倍(不要拿C#来说事,C#的开发领导者是Delphi的主创之一,这个层面上,C# = Delphi)
2.代码质量:由于Delphi使用的是Object Pascal语言所以代码严谨优美,可读性强,利于团队作业!C的代码太自由,个人色彩浓烈,适合SOLO...对公司来讲效率不高
3.编译器效率:Delphi的编译器效率目前还没有敌手,编译一个项目瞬间完成,其好处是没有等待编译的空闲时间去泡咖啡了,有益Coder的身心健康,同时也为项目的快速开发奠定了基础
4.在Windows平台上,Delphi除了驱动程序不能开发外(事实上你愿意的话也可以,只是你要冒微软的版权风险),几乎可以完成任何项目,尤其以数据库程序见长。当然,Delphi在Linux等平台上的表现还不尽如人意,如果你是在Linux下的话,建议你还是用C吧!

其实VC也好Delphi也好,C语言也好Pascal语言也好,它们都只是工具,重要的是编程思想和工具的适用范围。

要说的就差不多这么多了,希望大家不要带有色眼镜看待事物...

3. 初识编程,怎样学习delphi

要学习Delphi,最主要的是了解它的控件,了解它的开发模式。而比较困难的是如何去了解这么多的控件,在我的Delphi里,已经有超过1万个控件,要把它们全部用一遍,那是不可能的,通常只是需要什么用到什么。好在Delphi的帮助文档对控件写得比较详细,你只要选中一个控件,然后按下F1就行了。

看帮助文档也需要有一定的技巧,比如说Windows API在Delphi的帮助文档中是没有的,需要额外下载MSDN,而Linux API在帮助文件中是包含的,所以就没有必要再去网上找。如果你按下F1时,系统提示你没有找到要找的内容,那么你可以选择转向或是配置帮助文件。

例如:你查找IWButton,系统会提示你找不到相关项,此时会出现转向,提示你转向可能的词条,你可以转向IntraWeb词条看看。如果IntraWeb词条也没有找到,你可以用Delphi帮助工具进行配置,找到IntraWeb的帮助文件,如IW6.hlp,然后把它添加到Delphi的帮助文件中。添加完毕后保存,然后再查找一次,就能够找到了。

当然了,你也不能只是看帮助,要多动手做些实际的东西,还有就是面向对象的概念是非常重要的,虽说Delphi支持面向过程,但是大多数情况下,必须面向对象的进行开发。类似于class,interface之类的概念得完全掌握才行。对于一些外部程序的调用,还必须了解COM的有关知识。

还有一些概念上的问题,好多人以为Delphi不能开发网页,这是一个错误的观点,用Delphi一样能开发出漂亮的网站来,其美观程度和功能的强大完全不亚于用DreamWaver做出的网页。而且最重要的就是它的开发速度很快。在你的主机空间充足,而又对开发时间有较大的限制,用Delphi是最好的选择。用Delphi开发网站就和开发WinForm应用完全一样,只是把开发模式转为WebSnap,IntraWeb,ExpressWeb或是Delphi Script。

作为一名合格的Delphi程序员,你还必须了解汇编的有关知识,Delphi是开源的,但是其开源部分有一半以上是用汇编代码写的,如果你看不懂,那必然对开发造成一定的影响。假设你需要了解串口控件的工作原理,以使对它进行改写,但是那个控件却是用汇编写的,这就对不懂汇编的开发人员造成了麻烦。当然我不是让你把汇编学得多么多么好,你有学汇编的时间不如多学一下C,但是基本的概念,比如说寄存器,Invoke等,你必须知道。

最后说一下Delphi的前景。就说我看到的,Delphi程序员是非常抢手的,在大多数的软件公司,都希望程序员能够独挡一面,独立完成复杂的开发,所以会大量的招入Delphi程序员。在上海也发生过这样的事,大量的C++,Java程序员被辞退,而招入少量的Delphi程序员,原因就是在同等技术水平下,一个Delphi程序员可以在一星期内完成5个Java程序员用一个月才能完成的工作。

在某些大型项目中,也需要开发人员之间的合作,但是Delphi程序员的合作默契程度远远比C++程序员来得高,如果你用合作模式开发一个项目,那么就必须制作接口并发布,否则Delphi不允许合作项目的编译,这样使得各开发人员之间的代码规范性非常强,并且能跟据项目计划生成UML图,极大的简化了开发的过程。现在需要Delphi程序员的公司非常多。

所以Delphi在实际的开发中还是很有用的,但是你千万不要在学习编程思想时用Delphi,那会对你很不利。永远记住这一点,Delphi要多用才会熟练,当你能够自己制作控件时,才证明你的水平已经到达某个层次.

以上部份是抄了别人的。
关于看别人的源码我觉的,在你没有看够足够的书和做足够的例子的时候,会让自己迷惑不解!
如何看别人的源码做自己的程序呢?
个人认为《Delphi面向对象编程思想》、《delphi精要》、《delphi 7组件经典解析》这几本书要读一下。
一、基本的控件使用得懂。
二、基本的函数要了解一些,全记住是天才做的事,最起码你要会查吧。
三、delphi是面向对象编程的,所以更得吃透这一方面。
余下的事,就是你的理解能力的问题了。

4. Delphi编译器采用的是什么编程语言

Pascal语言 & Delphi

优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。
(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。
(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。
(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。

缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。

Pascal语言简介

Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3 月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。

Delphi的出现打破了V承可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。

Delphi在你编好程序后自动转换成.EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。 Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。

Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。

Delphi的基本形式

Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。

Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。 在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可?/td>

5. Delphi优势在哪里

Delphi的VCL架构是开源的,每个人都可以查看编译代码
Delphi的面象对象技术也不错,有助于学习OOP编程思想,VB可要差远了。
Delphi的VCL,你如果能深入研究精通里面的10%,那估计都是高手中的高手了
Delphi的面象对象技术也不错,有助于学习OOP编程思想,VB可要差远了。
基本上帮助不大.绝大多数用Delphi的程序员也没有用OO的思想去开发.

>>Delphi的VCL,你如果能深入研究精通里面的10%,那估计都是高手中的高手了
高手这一概念也太模糊了吧.

>>在现在这种技术日新月异的年代,一个能利用好高效率的开发工具、最大限度的发挥现有资源的程序员才是好的程序员。
好的程序员不一定称的上,程序员优秀表现在创造性上.也许某些领域的软件工程师需要这种素质.不过那些大师一般只说自己是程序员.我们也只说他们是伟大的程序员.

有时候接触下Linux/Unix也不是坏事,这样更容易体会到什么是真正意义上的写程序.

6. delphi 子窗体传值问题|子窗体调用

多个子窗体A,它的form name是不一样的,赋值时只要区别开窗体名就应该可以实现的

7. delphi中create的用法一直不是很清楚 有没有系统全面的介绍

Create是构造函数,Create函数是TObject就有了的
比如:
var a: TClassA;
a:= TClassA.Create;
a此刻实际上是获得了TClassA.Create返回的实例句柄,你可以认为此时a仍然只是一个变量,只不过a中是TClassA所创建的对象的地址.
如刘艺所说:这个a相当于一口锅的把柄,有了把柄你就可能随便操作这口锅.
如果单纯调用 TClassA.Create而不将它返回的句柄赋予某变量的话,那TClassA也会创建一个对象,只不过没办法去操作它而已,但它依然存在.
Create是一个特殊的类方法,一般用来在创建对象时,同时初始某些数据成员.

建议看看刘艺大作 面向对象编程思想 一书

8. delphi怎么入门啊

delphi在我的学习经验
1、delphi使用的是pascal语言类型(不需要去找pascal的书来看),去买或找本delphi的书(我是从delphi7开始的)先看看基本语法、数据类型、常用函数;
2、先尝试这安装delphi7,在网上下一个,安装中的注意事项在网上可以找到;
3、先从简单的程序联系,比如控制窗体、按钮事件、Time控件的使用等,有些书上会介绍如何启动delphi并在其中编写代码,有些是直接介绍代码的,建议找比较基础的;
4、如果能够比较熟练的使用delphi中的控件并能理解使用一些常用函数,再找一些有深度的书去学习delphi的编程思想;
5、主要是要动手去写,不要怕出现错误,能将基础的学习好,数据库、网络、组件的开发都能比较快的上手,在需要新的组件或实现新的功能多在网上找找,看看别人的思路。

9. 小弟最近想学习delphi编程,求推荐初学者学习的书籍

可以参考一下<Delphi5开发人员指南>
如果你使用的Delphi2010 的话 可以参考<Delphi2010语法手册>
那些组件什么的都是多练然后学会的!多自己使用一下就行了

10. Delphi 语言要怎样学(悬赏50、答的好可再加30)

问题:

1、如何下手学。
首先,掌握Object Pascal语法,了解OOP
其次,熟悉常用控件
最后,多用Bai Google MSDN来解决碰到的问题

在做一感兴趣的小程序后,就可以初步熟悉Delphi了,比如做个俄罗斯方块、做个通讯录等。

2、要掌握什么知识才可以去应聘。
Delphi开发数据库软件比较多,SQL server要懂,连接SQL server的ADO要懂,再看些设计模式,增强设计能力。

说得很泛了,非一日之功。兴趣是人生最好的老师。加油。

阅读全文

与delphi面向对象编程思想相关的资料

热点内容
怎么快速展开全部切割清单中文件夹 浏览:670
内网如何打开服务器远程桌面连接 浏览:979
如何使用单片机的蜂鸣器 浏览:367
围棋初级教程pdf 浏览:857
不会夸人的程序员是什么样子 浏览:114
如何通过程序员调查背景 浏览:311
php判断字符串是否在数组中 浏览:888
安卓手机卡发热是什么原因 浏览:150
命令提示符管理员指令 浏览:883
压缩机的拆除 浏览:639
云服务器ip被攻击 浏览:612
天山暴击算法 浏览:833
编译实验输入某段程序C中 浏览:571
pdf阅读进度 浏览:752
phppecl下载 浏览:653
显控编程窗口转换怎么编辑 浏览:966
打印服务器怎么重置 浏览:532
为表格中的行创建文件夹 浏览:108
hadoop解压缩 浏览:425
30岁程序员生计 浏览:472