main.m

#import <Foundation/Foundation.h>

#import "Student.h"

int main(int argc, constchar * argv[]) {

@autoreleasepool {

Student *stu = [[Studentalloc] init];

stu.age = 11;

NSLog(@"age is %i",stu.age);

}

return 0;

}

 
Student.h

#import <Foundation/Foundation.h>

@interface Student : NSObject{

//默认是@protected

int age;

int age1;

int age2;

int no;

float height;

}

//当编译器遇到@property时,会自动展开成getter和setter的声明  一行相当于两行  @property不可以省略

@propertyint age;

//-(void)setAge:(int)newAge;

//-(int)age;

@propertyint no;

//-(void)setNo:(int)newNo;

//-(int)no;

@propertyfloat height;

//-(void)setHeight:(int)newHeight;

//-(float)height;

@end

 
Student.m

#import "Student.h"

@implementation Student       //在xcode4.5及之后的版本,可以省略@synthesize,并且默认去访问_age这个成员变量,如果找不到会自动生成一个叫_age的私有成员变量

//@synthesize age,height,no;也可以这样写

@synthesize age;              //@synthesize会自动生成getter和setter的实现

//-(void)setAge:(int)newAge{  //@synthesize 是默认访问跟 “synthesize <#property#>”中与“<#property#>” 相同的成员变量,如果找不到就会

//    age = newAge;           //生成一个私有的同名变量 <#property#>

//}

//-(int)age{

//    return age;

//}

@synthesize no;                   //如果已经定义了成员变量int _no,则需要这样写:@synthesize no = _no;代表getter和setter去访问_age这个成员变量;之后

//-(void)setNo:(int)newNo{        //变量no不存在了!!!

//    no = newNo;

//}

//-(int)no{

//    return no;

//}

@synthesize height;

//-(void)setHeight:(float)newHeight{

//    height = newHeight;

//}

//-(float)height{

//    return height;

//}

@synthesize wide;                  //@synthesize wide;表明已在.h文件中声明了一个成员变量 wide,即不用再声明成员变量wide了。

@end

@property和@synthesize的更多相关文章

  1. Objective-C中的@property和@synthesize用法

    @代表“Objective-C”的标志,证明您正在使用Objective-C语言 Objective-C语言关键词,@property与@synthesize配对使用. 功能:让编译好器自动编写一个与 ...

  2. @property和@synthesize的特性

    基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@pr ...

  3. iOS 详细解释@property和@synthesize关键字

    /** 注意:由@property声明的属性 在类方法中通过下划线是获取不到的 必须是通过 对象名.属性 才能获取到!- @property和@synthesize关键字是针对成员变量以及get/se ...

  4. OC中两个关键字的作用:@property和@synthesize

    两个关键字的使用:@property和@synthesize 一.@property关键字这个关键字是OC中能够快速的定义一个属性的方式,而且他可以设置一些值,就可以达到一定的效果,比如引用计数的问题 ...

  5. OC语法5——@property和@synthesize

    @property和@synthesize: 我们回想一下: 在OC中我们定义一个Student类需要两个文件Student.h 和 Student.m. Student.h(声明文件):定义成员变量 ...

  6. Objective-C基础笔记(2)@property和@synthesize

    先贴出使用@property和@synthesize实现的上一篇中的代码,再解释这两个keyword的使用方法和含义,代码例如以下: Person.h文件 #import <Foundation ...

  7. Objective-c @property和@Synthesize

    在Objective-c中,使用@property来标识属性(一般是实例变量).在实现文件中使用@synthesize标识所声明的变量,让系统自动生成设置方法和获取方法. 也就是说@property和 ...

  8. @property、@synthesize和dynamic的用法

    原文:  http://blog.csdn.net/hherima/article/details/8622948 @代表“Objective-C”的标志,证明您正在使用Objective-C语言 O ...

  9. ios中点语法、property跟synthesize用法

    一:OC中得点语法 1> 点语法的基本使用: ·使用 对象.成员变量   可以实现设置成员变量值,和获取成员变量的值   2> 点语法的本质 (点语法是Xcode编译器自己帮我们完成的一个 ...

  10. (iOS)关于@property和@synthesize的理解(原创)

    开始学习ios的时候,就对一些objc的语法不理解,就比如@property和@synthesize,之前都是记住然后照着用,但是写的代码多了,对objc和ios有了一些理解,再加上最近用MRC,所以 ...

随机推荐

  1. IOS5开发-http get/post调用mvc4 webapi互操作(图片上传)[转]

    IOS5开发-http get/post调用mvc4 webapi互操作(图片上传)   目前最流行的跨平台交互是采用http协议通过JSON对象进行互操作.这种方式最简单,也很高效.webservi ...

  2. 吐槽下CSDN编辑器

    Perface 近期喜欢上了markdown,我认为它就是一些HTML标签的快捷键,用一些符号来取代标签,易学易读易用,何乐而不为呢?近期也喜欢用印象笔记来让我的记忆永存,确实它强大的收集能力让我迷上 ...

  3. 如何一步步把网站Retina优化

    随着高清屏幕.高分辨率屏幕越来越流行,例如MacBook Retina机型.iPad Air系列,这些新生机器有着很高的PPI,对网页的清晰度要求很高,所以越来越多的站长都不得不面临一个问题,那就是把 ...

  4. Oracle 存储过程之通用分页查询

    在数据库中书写通用分页存储过程,有利于代码的维护以及执行效率的提升 create or replace procedure Sp_QueryDatePage ( tableName in varcha ...

  5. JSP简介

    论坛 博客 微论 问答 游戏厅 天涯客 读书 更多 手机 服务 登录 注册   聚焦 民生 文学 旅游 财经 汽车 IT数码 时尚 情感 娱乐 视频 更多 北京 上海 广东 更多 天涯部落> J ...

  6. C# 利用file打印日志

    public class FaceLog { public static void AppendInfoLog(string errMsg) { try { string Folder = Main. ...

  7. STOI补番队胡策

    ROUND 1 第一轮是我出的. 比赛情况: #1 NanoApe 300 (完美AK) #2 && #3 swm_sxt / ccz  200 A.candy 这道题就是个nim游戏 ...

  8. ORM和Core

    .net  core中有哪些被抛弃的类 1.DataTable DataRow SqlDataAdapter DataRow DataColumn DataColumn 虽然这些类不是我ORM核心功能 ...

  9. Linux07--Shell程序设计03 通配符与正则表达式

    通配符 通配符可用于代替字符. 通常地,星号“*”匹配0个或以上的字符,问号“?”匹配1个字符. 使用情况: 1.文件和目录 在CP/M.DOS.Microsoft Windows和类Unix操作系统 ...

  10. DNS域欺骗攻击详细教程之Linux篇

    .DNS域欺骗攻击原理 DNS欺骗即域名信息欺骗是最常见的DNS安全问题.当一 个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器就被欺骗了.DNS欺骗会使那些易受攻 ...