OC1_点语法
//
// Dog.h
// OC1_点语法
//
// Created by zhangxueming on 15/6/16.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <Foundation/Foundation.h> @interface Dog : NSObject
//{
// NSString *_name;
// NSInteger _age;
//} - (id)init; //方法一
//- (NSString *)name;
//- (NSInteger)age;
//
//- (void)setName:(NSString *)name;
//- (void)setAge:(NSInteger)age; //方法二:
//@property 关键字展开setter getter方法的声明 //- (NSString *)name;
//- (void)setName:(NSString *)name;
//@property NSString *name; //- (NSInteger)age;
//- (void)setAge:(NSInteger)age;
//@property NSInteger age; //方法三
//展开setter getter方法的声明及synthesize语句
//展开@synthesize name = _name;
//@synthesize age = _age; @property NSString *name;
@property NSInteger age; - (void)printDog; @end
//
// Dog.m
// OC1_点语法
//
// Created by zhangxueming on 15/6/16.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import "Dog.h" @implementation Dog - (id)init
{
if (self=[super init]) {
_name = @"小黑";
_age = ;
}
return self;
}
//方法一:
//- (NSString *)name
//{
// return _name;
//}
//
//- (NSInteger)age
//{
// return _age;
//}
//
//- (void)setName:(NSString *)name
//{
// _name = name;
//}
//
//- (void)setAge:(NSInteger)age
//{
// _age = age;
//} //方法二
//@synthesize 关键字展开 setter getter方法的实现
//展开了 _name _age
//@synthesize name=_name;
//@synthesize age = _age; //方法三: 省约@synthesize - (void)printDog
{
NSLog(@"name = %@ , age = %li", [self name], [self age]);
} @end
//
// main.m
// OC1_点语法
//
// Created by zhangxueming on 15/6/16.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <Foundation/Foundation.h>
#import "Dog.h" //点语法: 方便其他程序员转移到ios开发 int main(int argc, const char * argv[]) {
@autoreleasepool {
Dog *dog = [[Dog alloc] init];
[dog printDog]; [dog setName:@"小白"];
dog.name = @"小白";//<==> [dog setName:@"小白"]
dog.age = ; //<==> [dog setAge:20];
[dog printDog]; //<==> [dog name] [dog age];
NSLog(@"name = %@ age = %li", dog.name, dog.age);
}
return ;
}
OC1_点语法的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
随机推荐
- PL/pgSQL的RETURN QUERY例子
我的例子: 数据准备: create table custinfo(custid integer,callingcnt integer); ,),(,),(,); 函数生成: CREATE OR RE ...
- PostgreSQL的 initdb 源代码分析之十四
继续分析: /* * Make the per-database PG_VERSION for template1 only after init'ing it */ write_version_fi ...
- PostgreSQL的schema信息,存储于何处
查看schema信息: [pgsql@localhost bin]$ ./psql psql () Type "help" for help. pgsql=# create sch ...
- URAL 1777 D - Anindilyakwa 暴力
D - AnindilyakwaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/v ...
- Android使用百度定位SDK 方法及错误处理
之前我的项目中的位置定位使用的是基站方法,使用的Google提供的API,但是前天中午突然就不返回数据了,到网上搜了一下才知道,Google的接 口不提供服务了,基于时间紧迫用了百度现有的SDK,但是 ...
- [AngularJS] Consistency between ui-router states and Angular directives
ui-router's states and AngularJS directives have much in common. Let's explores the similarities bet ...
- WORD神操作!第一个技巧你就傻眼了!
原文:http://mp.weixin.qq.com/s?__biz=MzA4NzkyMDIwNw==&mid=220128483&idx=4&sn=cfa87c941f36f ...
- Spark Streaming metadata checkpoint
Checkpointing 一个流应用程序必须全天候运行,所有必须能够解决应用程序逻辑无关的故障(如系统错误,JVM崩溃等).为了使这成为可能,Spark Streaming需要checkpoint足 ...
- C# 之 未能映射路径
在开发中遇到此问题,如下原码,报错:未能映射路径: string filename = Server.MapPath("/logs/log.txt"); 解决方法,从根目录开始: ...
- WdatePicker时间控件联动选择
$("#txtStartTime").bind("click focus", function () { var endtimeTf = $dp.$('txtE ...