Pascal类与对象
众所周知,Pascal是一种面向过程的语言。然而,Pascal也是支持面向对象的。
0x00 面向对象是什么?
出门左转百度
0x01 如何创建类和对象?
我们可以这样:
type
MyClass=class
......
end;
var
MyObject:MyClass;
begin
MyObject:=MyClass.Create;
....
end.
正如你所看到的,Pascal中的对象在定义时不会自动创建,需要在用时手动Create。这也避免了不必要的内存浪费。
0x02 继承
Pascal中的继承大部分与其他语言相同,只是定义有些区别:
type
Class1=class
......
end;
Class2=class(Class1)
......
end;
这时Class2
就会继承Class1
0x03 泛型
Pascal中的泛型与C++中的泛型不同,而与Java中的泛型相似,如:
type
generic Class1<T>=class
a:T;
......
end;
Class1Int=specialize Class1<longint>;
var
Object1:Class1Int;