Delphi知识点与技术概述【第一章Delphi编程】

Delphi的基本特性:语言,运行时库(RTL),核心类库

语言特性:

Delphi 即是一门语言同时又是一个开发工具。它是经典Pascal语言的面向对象的扩展。

内容提要

*类与对象

Delphi中每个可视放置在窗体中的组件是类的类型对象,该类可在系统库中获得。类和对象之间的关系和变量和类型之间的关系相同。

*封装:provate public

“黑盒子”,不需要知道里面有什么,只需要知道怎么样和黑盒子接口。

基本的3个访问标示符private、protected、public。它只限制于单元外面的代码访问单元接口部分中声明的一些确定的类成员。

*属性

我们可以通过属性来封装数据,属性可以看做是虚拟的字段。

*构造器

为了给对象分配内存调用用Create对象方法。Create构造器会初始化数据。我们可以自己定制Create构造器来启动特殊的实例数据。

分配内存--我们不要的时候必须来释放掉,调用析构器。

*对象与内存

Delphi 以对象引用为基础,建立该类实例。每一个变量不会保存对象的值,而是保存一个指针,来说明对象的内存位置。对象实例必须人工建立。总之一句话:同类型两个对象赋值,赋值的是对象所在内存的地址。不同类型赋值要转换类型。用(as或者  类型名(xxx))

内存管理规则:

每个对象在使用前必须创建。

每个对象在使用后必须解除。

每个对象只能解除一次。

*继承

如果我们定义一个类,想要在现有类中添加新的方法。就要打开“黑盒子”在里面做改动,这不是个好办法。这时可以用到继承关系。父类有的东西子类继承了,子类重新增加的方法,正是我们想要的。不断健壮子类,优生优育原则(派生类一定要比父类强大健壮)来实现代码扩展和代码重用。

*继承与类型兼容

不能将一个整型赋值给一个布尔,当然了除非我们显示的类型强转。

兼容规则是:只要他们类型相同或相容

相容:如 父类 TA 派生子类 TB ,子类TB的对象b赋值给父类TA的对象 A子类溶于父类。但是如果父类要用子类的方法还必须把父类类型转化成子类类型。

*虚方法与多态

多态条件:

从父类继承、子类父类方法一样父类是虚方法或动态方法,或纯虚方法、子类方法加override

只有在程序运行时候才能确定对象方法的实际地址叫晚绑定。

用户调用对象的方法将其做用于一个通用变量,根据对象的类在运行时才决定实际调用对象的方法就是多态。其实多态就是实现类上面的类型兼容。

多态是通过虚方法来实现的。

如果是多态那么一定是晚绑定。

*接口

一个类中有抽象方法它就是抽象类。一个纯虚方法没有方法实现,它就相当于一个借口,子类来实现它想要的功能。

接口类似类,但不是类,他已经变性手术了。

一个类可以继承自一个基类,但他可以实现多个接口。

因为说有类都派生于TObjcet,所有接口都派生于IInterface,故形成一个总的独立层。

*异常

Try 定义保护代码起始

Except 定义代码保护结尾,引用异常处理句子

Finally 总要执行的操作,一般为:关闭文件或数据库表格,释放对象和其他资源

*类引用

代码是在类本身上处理的,类引用不是一个对象,它只是对类的类型的引用。

Type

TA = class of TB;

Var

B : TB;

A : TA;

Begin

B :=TB.create;

A:=TA;

Delphi知识点与技术概述【第一章Delphi编程】

时间: 2024-12-19 19:41:30

Delphi知识点与技术概述【第一章Delphi编程】的相关文章

Delphi知识点与技术概述【第二章 核心类库】

第三章 核心类库 Delhpi可视化编程依赖于庞大的巨型类库.Delphi 标准类库包含了数百个类以及数以千计的方法. 内容提要: *RTL包.CLX与VCL CLX用作linux中,VCL用作Windows中 VCL是一个独立的大型库(组件,控件,非可视组件,数据集合,数据感应控件,等等). 库的核心非可视化组件与类属于RTL包. Vcl结构: CLX结构: BaseCLX VisualCLX DateCLX NetCLX 库的VCL专用部分: VCL还提供了Windows专用的: Delph

Delphi知识点与技术概述【第二章 运行时库(RTL)】

内容提要: *RTL概述 运行时库简称RTL,是一个非常庞大的函数集合. RTL的单元 SysUtils与SySConst单元 Sysconst单元定义了一些由其他RTL单元显示消息的常量字符串,这些字符串用resourcestring关键字来声明,并保存在程序资源中.它一些特性我们经常使用,如:IntToStr或Format,windows版本信息等. 时间日期操作,不会引起异常. TryStrToDate 将字符串转换为日期 TryEncodeDate 对日期进行编码 TryEncodeTi

2014年软考程序员-常考知识点复习笔记【第一章】

51CTO学院,在软考备考季特别整理了"2014年软考程序员-常考知识点复习笔记[汇总篇]",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年软考程序员-常考知识点复习笔记[汇总篇]  常考基础知识必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区

javascript数据结构和算法 第一章(Javascript编程环境和模型) 一

这一章介绍了我们在这本书中使用的描述各种数据结构和算法的Javascript的编程环境和编程架构. Javascript 环境 Javascript 在很长一段时间都是被作为web浏览器内置脚本编程语言来使用. 然而,在过去几年里,javascript编程环境得到了极大的发展,他们可以使javascript在桌面或者服务端运行. 在我们这本书中,我们使用其中的一个javascript环境:javascript shell:是Mozilla公司的javascript环境,被称为SpiderMonk

软件工程——理论方法与实践(段落概述第一章至第十一章)

第一章软件软件是计算机程序,规程及运行计算机系统可能需要的文档和数据.软件分为通用软件和定制软件.软件的特性:1.复杂性2.不可见性3.不断变化4.大多数软件仍然是定制的,而不是通过已有的构件组装而成.软件于二十世纪50~60年代,70年代,80年代,90年代至今进行发展.在此过程中遇到一些危机:1.软件的开发成本和进度难以估计,延迟交付甚至取消项目的现象屡见不鲜.2.软件存在着错误多,性能低,不可靠,不安全等质量问题.3.软件的成本在计算机系统的整个成本中所占的比例越来越大.4.软件的维护极其

iOS面试用到的知识点和技术点--第二章

接着第一章的继续  昨天没有更新,很抱歉 1.Socket编程 以及一些第三方框架Socket-IO GCDAsyncSocket通信框架? 1.使用系统自带的CFsocket 2.第三方Socket-IO 3.GCDAsyncSocket 想要了解更多 请看http://www.jianshu.com/p/2ef8a1b08338 2.友盟.shareSDK分享? 1.关于友盟 是什么  我想不用我多说了  自己去看官网  只是想简单的集成分享.登录和统计功能的还可以看这个:http://ww

《大道至简》第一章《编程的精义》读后感

import java.<大道至简第一章>.*; public class 读后感{ public static void main(String args[]) { //提出问题:惩山北之塞,出入之迂也 //解决方法:率子孙荷担者三夫,叩石垦壤,箕畚运于渤海之尾 int 愚公: int 子: int 孙: System.out.println("汝心之固,固不可彻,曾不若孀妻弱子.虽我之死,有子存焉:子又生孙,孙又生子:子又有子,子又有孙:子子孙孙无穷匮也,而山不加增,何苦而不平?

Python培训知识总结系列- 第一章Python编程基础

第一章主要是讲了下面几点: Python的基本历史,Python2,Python3的差别. Python的数据类型,变量,顺序执行,分支,循环语句. Python的开发工具,老师推荐的是PythonCharm. 与编程相关的知识,如数制的转换,二进制,十进制,十六进制等. 还有就是列表,字典,集合的概念的.老师在第二章具体讲应用. 原文地址:http://blog.51cto.com/huangsheng2/2065133

Android系统移植与驱动开发概述 第一章

Android系统移植与驱动开发概述 1. Android的系统架构分为Linux内核.C/C++代码库.Android SDK API.应用程序四层. 2. Android移植可分为应用移植和系统移植.应用移植是指将应用程序移植到特定的硬件平台.系统移植指的是让Android操作系统在某一特定硬件平台上运行(首要条件是该操作系统支持硬件平台的CPU架构).系统移植的主要任务是移植Linux驱动和HAL(Hardware Abstraction Layer:硬件抽象层,位于应用程序与驱动之间).