![]() |
|
|
Регистрация | << Правила форума >> | 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; Asira |
#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 Последний раз редактировалось Asira, 17.01.2011 в 22:25. |
#6
|
|||
|
|||
![]() Ну, если хочется чистой теории, то поищи книжку Гради Буча. Кажется, так и называется - ООП. Или поищи книжку Александровского по Delphi 4 - там очень хорошо объясняется модель ООП, используемая в Delphi. Вообще, в старых книгах, по ранним версиям Дельфей, вся эта теория объяснялась гораздо лучше, чем в современных, по последним версиям.
|
#7
|
|||
|
|||
![]() Большое спасибо!!!!!!!!
Asira |