//
// main.m
// 对象的建立
//
// Created by 胡举 on 15-7-29.
// Copyright (c) 2015年 huju. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc,const char * argv[]) {
//创建Person类的一个对象:对象存放在堆区。
//创建对象 -----使用类方法:alloc来实现
// [Person alloc] ----给对象开辟一块内存空间---->>>> &a
//创建了一个对象(jace)----地址,一般不会叫指针,
Person * jace = [Personalloc]; //给创建的对象在内存中开辟一块空间。
// 参考 int *p = &a;-----Person -> int ,jace -> p,&a -> [Person alloc]
NSLog(@"jace : %@",jace);
jace = [jace init]; //初始化,将新开辟的空间清理干净 init ---实例方法
Person *jim = [[Personalloc] init]; //一般将创建对象和初始化合并
//通过对象调用方法
//语法:[对象名(类名)方法名];
[jaceshopping];
[jimshopping :@"新天地"];
//对属性赋值要用到设置器方法(set方法),对属性取值要用到访问器方法(get方法)
//在类的外部访问类的属性,就必须用到设置器和访问器方法
//设置名字
[jacesetName:@"jace"];
//设置年龄
[jacesetAge:20];
//设置性别
[jacesetSex:@"男"];
//设置体重
[jacesetWeight:71.0f];
// 获得名字
NSLog(@"jace name is :%@",[jacename]);
//获得年龄
NSLog(@"jace age is %ld",[jaceage]);
NSLog(@"jace sex is %@ weight is %f",[jacesex],[jace weight]);
// -------------调用类方法-------------
//类方法用途:做一些与属性无关的操作时,可以用类方法来实现
/*
类方法和实例方法的区别:
类方法里面不允许访问属性
实例方法里面可以访问属性
*/
[Persontest];
int result = [Personsum:16 withNum:24];
NSLog(@"两者的和为:%d",result);
return 0;
}