![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите разобраться в такой задачке
Описать указанный класс. Государство (вычислить плотность населения, отношение числа жителей столицы к общей численности населения);Создать и инициализировать экземпляр этого класса. Вызвать каждый метод. Мне кажется за поля можно взять -численность населения, площадь,численность столицы. а методы - вычисление плотности и отношения. Не судите строго эт моя первая задачка по этой теме. Код:
Type TGosudarstvo=class;
x,y,z:real; procedure Init; end;
function Pl(a:Tgosudarstvo):real;
begin Pl:=a.x/y; end;
function Otn(b:TGosudarstvo):real; begin
Otn:=b.z/x; end;
var c,d,e:TGosudarstvo;
begin c:=TGosudarstvo.Greate; d:=TGosudarstvo.Greate;e:=TGosudarstvo.Greate; c.Init; d.Init;
writeln('plotn=',c.Pl(d)); writeln('Otn=",c.Otn(d));
readln; c.Free; d.Free; end; |
|
#2
|
|||
|
|||
|
Давненько тебя здесь не видел)
держи код, а лучше сначала немного почитать про классы, прежде чем, что-ли бо писать с их использованием) Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TGosudarstvo = class
private
FName:String;
FPopulation,
FAria,
FCapitalPopulation:Real;
public
Constructor Create(const aName:String; const aPopulation, aAria, aCapitalPopulation:Real);
Destructor Destroy; override;
function GetPopulationDensity:Real;
function GetPopulationRelation:Real;
property GetName:String read FName;
property Population:Real read FPopulation write FCapitalPopulation;
property Aria:Real read FAria write FAria;
property CapitalPopulation:Real read FCapitalPopulation write FCapitalPopulation;
end;
{ TGosudarstvo }
constructor TGosudarstvo.Create(const aName: String; const aPopulation,
aAria, aCapitalPopulation: Real);
begin
inherited Create;
FName:=aName;
FPopulation:=aPopulation;
FAria:=aAria;
FCapitalPopulation:=aCapitalPopulation;
end;
destructor TGosudarstvo.Destroy;
begin
inherited Destroy;
end;
function TGosudarstvo.GetPopulationDensity: Real;
begin
Result:=FAria / FPopulation;
end;
function TGosudarstvo.GetPopulationRelation: Real;
begin
Result:=FPopulation / FCapitalPopulation;
end;
var
G1, G2:TGosudarstvo;
begin
G1:=TGosudarstvo.Create('Gos1',1000,200,400);
G2:=TGosudarstvo.Create('Gos2',4000,500,1500);
Writeln('Name: ',G1.GetName);
Writeln('plotn: ',FloatToStr(G1.GetPopulationDensity),' otn: ',FloatToStr(G1.GetPopulationRelation));
Writeln('Name: ',G2.GetName);
Writeln('plotn: ',FloatToStr(G2.GetPopulationDensity),' otn: ',FloatToStr(G2.GetPopulationRelation));
G1.Destroy;
G2.Destroy;
Readln;
end. |
|
#3
|
|||
|
|||
|
Пара комментариев.
1. Конструктор лучше сделать виртуальным. 2. Свойства, содержащие значения, если сами цифры ты задаешь в конструкторе, лучше сделать только для чтения. 3. Ну и все-таки пусть название будет Name, а не GetName. |
|
#4
|
|||
|
|||
|
Я хотел как можно проще, тут же, знаний с ходу видно на нуле, а до таких подробностей она еще не скоро доползет) пусть для начала хоть это осмыслит..
|
|
#5
|
|||
|
|||
|
Есть какая нибудь литература по этой темке???
Последний раз редактировалось Asira, 17.01.2011 в 22:25. |
|
#6
|
|||
|
|||
|
Ну, если хочется чистой теории, то поищи книжку Гради Буча. Кажется, так и называется - ООП. Или поищи книжку Александровского по Delphi 4 - там очень хорошо объясняется модель ООП, используемая в Delphi. Вообще, в старых книгах, по ранним версиям Дельфей, вся эта теория объяснялась гораздо лучше, чем в современных, по последним версиям.
|
|
#7
|
|||
|
|||
|
Большое спасибо!!!!!!!!
|