zadanie

mail@pastecode.io avatar
unknown
objectivec
2 years ago
2.9 kB
14
Indexable
Never
Stwórz nową klasę o nazwie Klasa.
Następnie wykorzystaj trzy załączone do tego zadania pliki 
klasa.h zawiera obszernie skomentowany kod z definicją interfejsu klasy Klasa
klasa.m zawiera implementację klasy Klasa
main.m zawiera kod źródłowy funkcji głównej main


Dodaj kolejną klasę Data zawierającą 3 prywatne pola: dzien (int), miesiac (NSString)
i rok (int). Klasa ma zawierać metody dostępu do wszystkich pól. Dodatkowo napisz dwie
metody z dwoma i trzema parametrami do ustawiania wartości pól na raz. Następnie
napisz metodę wypisującą datę zapisaną w obiekcie w logach.
Zmodyfikuj funkcję main, by zaprezentować wszystkie możliwości nowej klasy.
Przygotuj podobną klasę reprezentującą osobę o określonym imieniu, nazwisku, miejscu
zamieszkania (adres, miasto, województwo – tylko określone wartości możliwe) i dacie
urodzenia.
Zmodyfikuj funkcję main by przedstawić wszystkie możliwości klasy reprezentującej
osobę


__________________________________________________________________________________________________________________

#import "Klasa.h"
#import <Foundation/Foundation.h>


@interface Klasa : NSObject {

@private NSString *jakisNapis;
@private  int liczba;


} 

@property(assign) int liczba; 
@property(retain) NSString * jakisNapis; 


- (void)metodaBezParametrow;

+ (int)metodaJakbyStatycznaZwracajacaLiczbeCalkowita;

- (void)metodaZJednymParametrem:(NSString *)napis;

- (void)metodaZParmetremPierwszym:(int)param1 iParametremDrugim:(int)param2;


@end


__________________________________________________________________________________________________________________


#import "Klasa.h"

@implementation Klasa  


@synthesize liczba;
@synthesize jakisNapis;


- (void)metodaBezParametrow {
   NSLog(@"Jakis komunikat w logach!");
}

+ (int)metodaJakbyStatycznaZwracajacaLiczbeCalkowita {
   NSLog(@"Metoda wywolana na klasie");
   return 6;
}

- (void)metodaZJednymParametrem:(NSString *)napis {
   NSLog(@"Napis: %@", napis);
   [self metodaBezParametrow];
   [self metodaZParmetremPierwszym:2 iParametremDrugim:3];   
}

- (void)metodaZParmetremPierwszym:(int)param1 iParametremDrugim:(int)param2 {
   int a=param1+param2;
   NSLog(@"wywolanie metody z dwoma parametrami");
}

@end



__________________________________________________________________________________________________________________

#import <Foundation/Foundation.h>
#import "Klasa.h"

int main (int argc, const char * argv[])
{
    NSLog (@"hello world");
    
    Klasa * obiekt= [[Klasa alloc] init];

    [obiekt setLiczba:5];
    NSLog (@"Liczba w naszym obiekcie to %i", [obiekt liczba]);

    obiekt.liczba=2;
    NSLog (@"Zmienilismy liczbe na %i", [obiekt liczba]);
	
    NSLog (@"wartoszzwrocona przez metode %i", [[Klasa class] metodaJakbyStatycznaZwracajacaLiczbeCalkowita]);
    
    [obiekt metodaZJednymParametrem:@"parametr"];
    return 0;
}