delphi7的入门学习

2024-11-22 11:56:53
推荐回答(2个)
回答1:

既然你已经对vb有所了解,为什么还要学delphi?
两者没有区别。但是vb更简单,更实用。
如果你学会了vb,其他语言只是语法上的区别而已。如果你要走编程这条路,vb足够应付一般的商业程序了。当然如果你要深入到非常底层的话,就只有学习汇编和C语言了。实际一点就学vb好了,除了操作系统、杀毒及海量数据处理外,什么都可以做。
如果你能精通vb,delphi也就2天就会了。
----
建议你先看计算机原理,软件工程对编程有基本的认识后,再看vb就非常容易了。如果你是电脑编程文盲的话,直接看任何编程的书都比较困难的。

回答2:

对象与内存

delphi 中的内存管理项遵循三条规则

每个对象在其可以使用之前必须被创建

每个对象在其使用之后必须被解除

每个对象必须只能解除一次

继承已有类型

delph中,为了继承一个现有类,只需要在新类声明的开处指出该类.例:

TYPE

TFORM1=CLASS(TFORM)

END;

这个简单垢定义表示TFORM1类继导了TFORM类所有对象方法,字段,属性和TFORM类的事件,用户可以为TFORM类型的对象调用TFORM类的所有公用对象方法.同时TFORM也会从其他类继承一些对象方法,如TOBJECT基类.

保护字段与封装

怎样使派生类与父类不同单元(如果派生类访问了父类的专用字段PRAVATEPROTECTED)。就必须将专用字段声明为保护类型,或者在父类中添加一个简单的对象方法来读取专用元素的值。

delphi中一个类的专有和受保护数据都可以由与该类在同一单元中的函数方法访问。一量将类(包含PROTECTED保护的),在其它单元将不能直接访问PROTECTED中的,(换句话说PROTECTED只在在类的声明单元内使用)。解决办法在其它单元内声明派生类(这个违反封装规则).派生类自动继续父类的保护字段(详细请查看DELPHI入门到精通54-55页)

type
TControlHack = class (TControl); //声明一个派生类,这样可以访问父类的保护字段

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to ControlCount - 1 do
TControlHack (Controls [I]).Text :=
TControlHack (Controls [I]).Text + '*';
end;

继承与类型的兼容性

也就是可以将派生类对象赋给父类对象,但不可逆,否则错误;

滞后绑定与多态性

PASCAL函数和过程通常基于静态绑定或超前绑定,即由编译器或连接器来解析对象方法的调用,将请.

面向对象编程语言允许使用另一种绑定方式,叫做动态邦定或滞后绑定,这种只有在运行时只能确定所调用对象方法和实际地址(确定实例类型是父类或派生类的实例利用虚方法重载方法)..这种技术叫多态性.

覆盖\重定义方法

在承类中覆盖一个滞后绑定对象的方法,需要使用关键字OVERRIDE,然后,值是注意:只有在父类中将对象方法定义为虚拟类型后,才能进行覆盖.如果是一个静态类型的对象方法,就没有办法激活滞后绑定.

消息处理

滞后绑定的对象方法也可用于处理一条WINDOWS消息,DELPHI提供了另一个MESSAGE指令,用以定义消息处理对象方法,访方法必须是带有VAR参数的过程.MESSAGE指 令后加上对象方法想要处理的WINDOWS消息编号.

抽象方法

关键字ABSTRACT用于声明只在当前类的子类中定义的对象方法.ABSTRACT指令可完整地定义对象方法,它不是正向声明语句.

为什么要使用抽象象方法:原因很简单,多态性的需要,如果类TANIMAL含有抽象象方法VOICE,那么每个子类都能重定义它,如果有抽象方法VOICE,则每个继承类都必须要重新定义它.

delphi类型安全转换

delphi派生类的类型兼容原则允许程序员在希望使用父类的位置使用用派生类//有点难理解,前面不是讲派生类实例可以赋给父类实例吗,父类实例不可以给子类实例的.

if myanimal is tog then //判断否则类型使用IS操作符或是TOBJECT类的INHEFITSFROM对象方法来查询该信息,IS操作符参数是一个对象与一个类的类型,返回值是个BOOLEAN值.

AS操作符的参数是一个对象和一类的类型,结果是被转换为新类 类型的对象.可以写下列是代码:

mydog:=myanimal as tdog;

TEXT:=MYDOG.EAT;

(myanimal as tog).eat; east是一个成员函数;

delphi 接口

为什么使用接口:当定义一个抽象类表示带层次结构的基类时,会发现抽象类是如此此抽象,以至于它只列出一出一系列虚拟函数,而没有提供任何实际的实现代码.这种纯抽象类还可以使用另一种特殊技术,接口.

接口特点:接口被看成一个完全独立的元素,具有与众不同的特性;