文档章节

第03天OC语言(05):点语法

lyh2017iOS
 lyh2017iOS
发布于 2017/07/13 11:18
字数 662
阅读 1
收藏 0
  • 不要等到明天,明天太遥远,今天就行动。

#####须读:看完该文章你能做什么?

什么是点语法

#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

什么是getter、setter方法


#####一、本章笔记

 如果给属性提供了getter 和 setter方法,那么访问属性 又多了一种访问方式,点语法
 点语法 其实它的本质 是调用了 我们的 setter 和 getter方法
 点语法是一个编译器的特性, 会在程序 翻译成二进制的时候 将.语法自动转换为 setter 和 getter方法
 如果 点语法在=号的左边,那么编译器会自动转换为 setter方法
 如果 点语法在=号的右边,或者没有等号,那么编译器 就会自动转换为getter方法
 */
/*
 点语法的注意点:
 点语法一般用于给成员变量赋值, 如果不是给成员变量赋值 一般情况下不建议使用,但是也是可以使用的

#####二、code ######main.m

#pragma mark 05-点语法
#pragma mark 概念
/*

 */
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类

#import "Person.h"

#pragma mark - main函数
int main(int argc, const char * argv[])
{
    Person *p = [Person new];
    
    /*
    p->_age = 25;
    p->_name = "lyh";
    p->_height = 1.71;
    NSLog(@"age = %i,name = %@,height = %f",p->_age,p->_name,p->_height);
    */
//    [p setAge:25];
//    [p setName:@"lyh"];
//    [p setHeight:1.71];
//    NSLog(@"age = %i,name = %@,height = %f",[p age],[p name],[p height]);
    
#pragma mark 点语法
    /*
     如果给属性提供了getter 和 setter方法,那么访问属性 又多了一种访问方式,点语法
     点语法 其实它的本质 是调用了 我们的 setter 和 getter方法
     点语法是一个编译器的特性, 会在程序 翻译成二进制的时候 将.语法自动转换为 setter 和 getter方法
     如果 点语法在=号的左边,那么编译器会自动转换为 setter方法
     如果 点语法在=号的右边,或者没有等号,那么编译器 就会自动转换为getter方法
     */
    

    p.name = @"lyh";
    //[ p setName:@"lyh"]
    p.age = 25;
    p.height = 1.71;
    NSLog(@"age = %i,name = %@,height = %f",p.age,p.name,p.height);
    /*
     点语法的注意点:
     点语法一般用于给成员变量赋值, 如果不是给成员变量赋值 一般情况下不建议使用,但是也是可以使用的
     */
    p.test; // [p test];

    return 0;
}

######Person

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

@interface Person : NSObject
{
    @public
    int _age;
    NSString *_name;
    double _height;
}

- (void)setAge:(int)age;
- (void)setName:(NSString *)name;
- (void)setHeight:(double)height;

- (int)age;
- (NSString *)name;
- (double)height;

- (void)test;
@end
>>>.m
#import "Person.h"

@implementation Person
- (void)setAge:(int)age
{
    _age = age;
}
- (void)setName:(NSString *)name
{
    _name = name;
}
- (void)setHeight:(double)height
{
    _height = height;
}

- (int)age
{
    return _age;
}
- (NSString *)name
{
    return _name;
}
- (double)height
{
    return _height;
}
- (void)test
{
    NSLog(@"test");
}
@end

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
Object-C基础-03-点语法

前言 在Java中,我们可以通过"对象名.成员变量名"来访问对象的公共成员变量,这个就称为"点语法"。比如: 1.在Student类的第2行定义了一个公共的成员变量age 1 public class Student {2 pub...

Corwien
2016/03/17
16
0
Object-C基础-01-概述

回到顶部 前言 目前来说,Objective-C(简称OC)是iOS开发的核心语言,在开发过程中也会配合着使用C语言、C++,OC主要负责UI界面,C语言、C++可用于图形处理。近来,流传Ruby、C#也可以开发iOS...

Corwien
2016/03/16
33
0
一、Objective-C概述

说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C。如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略...

长平狐
2013/03/28
113
0
OC . 语法

一、点语法作用 1、方便其他语言程序员很快转到OC开发 2、程序设计简单化 3、隐藏了内存管理细节 4、隐藏多线程、同步、加锁细节 当然是使用点语法 . 还是实用中括号的方式 [** **],随个人喜...

Cy_Star
2017/10/17
0
0
swift简介和语言特点

swift是苹果公司在2014年在WWDC上发布的全新编程语言 我们可以在Swift语法中看到Objective—C、JavaScript、C#、Python等语言的影子,它借鉴了这些语言的影子,同时具备编译型语言的高性能和...

我是华丽的笨笨
2016/03/10
60
0

没有更多内容

加载失败,请刷新页面

加载更多

安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
33分钟前
2
0
深度剖析阿里巴巴对Flink的优化与改进

摘要: 作者 | 阿里巴巴实时计算团队 导读:随着人工智能时代的降临,数据量的爆发,阿里巴巴的商品数据处理就经常需要面对增量和全量两套不同的业务流程问题,所以阿里巴巴就在想:能不能有...

阿里云官方博客
33分钟前
2
0
Dubbo基础介绍

Dubbo是一个常用的分布式服务框架, 它致力于提供高性能、透明化的RPC远程服务方案。 学习Dubbo有助于提高企业级应用的开发效率,以及可通过简单的配置就可以实现负载均衡,提高服务的效率。...

Java搬砖工程师
45分钟前
4
0
VBS 自动登陆

1.关于网页元素属性 IE浏览器打开网页时,有很多元素,比如说一个文本框,一个按键等。每个元素都会有对应的“name”、“ID”,“style”,“class”等属性。 其中的“ID”和“name”属性是我...

宝贝女儿
49分钟前
1
0
GO 文件相关操作

package mainimport("fmt""os""bufio""io""io/ioutil")type ChartCount struct{Chct intSpacect intNumberct intOtherct int}func main() {file,err := os.Open......

汤汤圆圆
51分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部