文档章节

第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
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
Object-C基础-01-概述

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

Corwien
2016/03/16
33
0
Cocoa改造前篇 - 说在前面的

更好的阅读体验请点击 原文 从面相对象说起 (Object-Oriented Programming,简记为OOP)这个概念大家都有所耳闻,目前(2017.12),在Tiobe世界语言排行榜上排前十的语言中,C语言和Assembl...

秋刀生鱼片
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring IOC实现原理

1、BeanDefinition 对依赖翻转模式中管理对象依赖关系的数据抽象 实现依赖翻转功能的核心数据结构 依赖翻转功能都是围绕对BeanDefinition 处理完成的 有了这些BeanDefinition 基础数据结构,...

职业搬砖20年
16分钟前
0
0
Python判断变量的数据类型的两种方法

1、isinstance(变量名,类型) def varargsql(self, sql, *args): if isinstance(args, tuple): self.cursor.execute(sql, args) self.conn.commit() 2、通过与其他已......

fang_faye
16分钟前
0
0
xml 转义特殊字符

XML中共有5个特殊的字符,分别是:&<>“’。如果配置文件中的注入值包括这些特殊字符,就需要进行特别处理。有两种解决方法:其一,采用本例中的特殊标签,将包含特殊字符的字符串封装起来;...

inidcard
17分钟前
0
0
Mysql中哪些sql 不会走索引

1. 索引列参与了计算 SELECT `sname` FROM `stu` WHERE `age`+10=30; 2. 索引使用了函数运算 SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990; 3. like SELECT * FROM `houdunwang` W......

ChyiHuang
26分钟前
1
0
nginx 504 Gateway Time-out

打开nginx.config: 参数介绍: #设定http服务器http{include mime.types; #文件扩展名与文件类型映射表default_type application/octet-stream; #默认文件类型#charset utf-8; #默...

lyle_luo
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部