lpc - constructs - inherit

MudOS v21c2

inherit


LPC �� inherit ���:

�﷨:

    inherit ·������;
·������ǰ��������˫���� " ,�� ���� "/std/object".

inherit ����ṩ LPC ����̳е����� (��������������ƶ����Ĺ���).�� �̳��� (inheritance) ������ܼ̳���������ĺ����ͱ���. ��Ϊ MudOS ��������ȫ������ (global data) �������ڲ�, ���ҽ���ͬ�����Դ����ֿ�����(compile) , ������಻ͬ����������ü̳���������ͬһ�α���Դ����. ÿһ������Ὣ�κ�ȫ�ֱ������Լ�����һ��. ����ֱ���������� A �� B �̳���� C , ���±��� A �� B ����ʹ C Ҳ���±���һ��. ����, �������� A �� B ʧȥ�� C �ṩ��ȫ�ֱ���ֵ�ۼ�ס, A �� B ����һ�� C �ṩ֮ȫ�ֱ����Ŀ���. ���Ը��� (update) A ����Ӱ�� B ��ȫ�ֱ��� ( C �ṩ��) , ��֮��Ȼ��.

������� A �̳���� B. ��� A ���Զ����� B ��������ͬ���Ƶı����ͺ���. ��� A ������һ���� B ��ͬ���ĺ���, �� A�� ����ĺ����ͳ�Խ (override) B �ĺ�������. ��� A ��ʹ�� B �Ķ���, ����������: ���� A ������һ����Ϊ query_long �ĺ���, �� A�� ������� /std/object.c�� ����е� query_long ����, �� A ����ʹ�� object::query_long() ������. ��� A �������� B ��ͬ����ȫ�ֱ���, �� A ֻ�ܽ��ɵ��� B �ĺ�����ȡ�û���� B ��ͬ��ȫ�ֱ���. ��� B �����һ��ȫ�ֱ���, �� A �в�û������ (declare) ��, �� A ����ʹ�����ȫ�ֱ���, ������ A �Լ���ȫ�ֱ���һ�� (���� B û��������������Ƿ��ܴ�ȡ��ȫ�ֱ���) ע��: ������±������ B, A ��һֱʹ�þɵ� B ���, ֱ����� A Ҳ���±���һ��.

�����Զ��ؼ̳�. ���ؼ̳о���һ��������Լ̳�һ�����ϵ����. ���� special.c �̳� weapon.c �� armor.c, �� weapon.c �� armor.c�� ���ṩ���Լ��� query_long()�� ����. �����Ǽ��� special.c�� ��ʱ���뵱��һ������, ����ʱ���뵱��һ������. �� special.c�� �������ǻ���ʱ, ������ armor::query_long(), ������������ʱ, ���� armor::query_long().

��ο� types/modifiers�� �˷��ļ�, ˵�����̳е�������ԶԼ̳���������������ݺͺ�������.


����: Spock @ FF 97.Aug.10.

�ص���һҳ