OC语言-01类和对象

时间:2023-08-31 15:44:02
// cc 文件名.m -framework Foundation   编译链接

#import <Foundation/Foundation.h>

//枚举性别
typedef enum{
SexMen,
SexWoman,
SexUnknow
} Sex; //枚举毛色
typedef enum{
FurColorBlack,
FurColorRed,
FurColorGreen
} FurColor; //结构体日期
typedef struct{
int year;
int month;
int day;
} Date; //创建狗类
@interface Dog : NSObject
{
@public
double weigth; //体重
FurColor fcolor; //毛色
}
- (void)run;
- (void)eat;
@end //实现狗类方法
@implementation Dog
- (void)run
{
weigth -= ;
NSLog(@"狗开始跑了,体重减1,现在的体重是:%.2f",weigth);
}
- (void)eat
{
weigth += ;
NSLog(@"狗开始吃了,体重加1,现在的体重是:%.2f",weigth);
}
@end //创建学生类
@interface Student : NSObject
{
@public
char *name; //姓名
Sex sex; //性别
int age; //年龄
double weigth; //体重
Date birthday; //生日
Dog *dog;
}
- (void)liuDog;
- (void)weiDog;
- (void)print;
@end //实现学生方法
@implementation Student
- (void)print
{
NSLog(@"姓名:%s,性别:%d,年龄:%d岁,体重:%.2f公斤,出生日期:%d-%d-%d,狗的体重:%.2f,狗的毛色:%d",name,sex,age,weigth,birthday.year,birthday.month,birthday.day,dog->weigth,dog->fcolor);
} -(void)liuDog
{
[dog run];
}
- (void)weiDog
{
[dog eat];
}
@end int main()
{
Dog *zsDog = [Dog new];
zsDog->weigth = ;
zsDog->fcolor = FurColorBlack; Student *zs =[Student new];
zs->name = "jack"; //??中文赋值时无输出??
zs->sex = SexMen;
zs->age = ;
zs->weigth = 75.3;
Date d = {,,};
zs->birthday = d;
zs->dog =zsDog;
[zs print];
[zs liuDog];
[zs weiDog];
return ;
}
#import <Foundation/Foundation.h>

@interface Calc : NSObject
{ }
- (int)sumWithNum1:(int)num1 andNum2:(int)num2;
- (int)pingFangWithNum:(int)num;
@end @implementation Calc - (int)sumWithNum1:(int)num1 andNum2:(int)num2;
{
return num1+num2;
} -(int)pingFangWithNum:(int)num
{
return num * num;
}
@end int main()
{
Calc *c= [Calc new];
int sum = [c sumWithNum1: andNum2:];
int pf =[c pingFangWithNum:];
NSLog(@"sum=%d,平方:%d",sum,pf);
return ;
}