黑马程序----OC的点语法

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

点语法

1.点语法与setter和getter有关

Person *p = [Person new];

[p setAge : 10];    // 等价于   p.age = 10;

int a = [p age];    // 等价于  int a = p.age;

2.说明:

p.age = 10; 并非访问p对象的成员变量 _age;即使是访问p对象的成员变量_age也应该写成p -> _age;此句正确的含义是调用了p对象的setAge:方法。

3.p.age = 10;与p.age的区别:

如果后面有赋值,即:p.age = 10;就是调用了p对象的setAge:方法;没有赋值,即:p.age;就代表调用了p对象的getAge方法:(int)age;

4.OC中直接访问成员变量的方式只有用箭头   ->  ,点语法不代表直接访问对象的成员变量;

5.点语法的真实作用剖析

  • 其实点语法就是方法的调用;

  • 当使用点语法时,编译器就会自动展开成相应的方法;

6.点语法的使用注意点

点语法使用不当会引发死循环:

时间: 2024-09-30 02:00:12

黑马程序----OC的点语法的相关文章

【黑马程序员】————面向对象语法2

一.      set方法和get方法 1.          set方法和get方法的使用场合 @public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数 成员变量尽量不要用@public 2.          set方法 1)       作用:提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤 2)       命名规范: 1> 方法名必须以set开头 2> set后面

【黑马程序员】————面向对象语法1

一.  面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 常用术语 面向过程 Procedure Oriented 面向对象 Object Oriented,简称OO 面向对象编程 Object Oriented Programming,简称OOP 二.  类和对象的关系 面向对象中有2个非常重要的概念:类和对象 OC中的面相对象 1)      OC中的类相当于图纸,用来描述一类事物.也就是说,要想创建对象,必须先有类 2)      OC

黑马程序员 ——ios点语法和类的三大特性

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 一.点语法 (一)认识点语法

黑马程序员 00-OC基本语法概述

1.OC简介 Objectuve-C 简称OC,其中Objective是面向对象的意思,即面向对象C. C语言的基础上,增加了一层最小的面向对象的方法(保留了面向对象语法的精华部分) 完全兼容C语言 以下代码写在OC源文件(.m文件)中,说明OC程序完全兼容C语言 #include <stdio.h> // OC程序的入口:main函数 // OC程序完全兼容C语言 int main(intargc, const char* argv[]) { printf("第1个OC程序\n&q

黑马程序员—16-oc核心语法

一.    变量作用域 l  变量的作用域主要分为四种: u  (1)@public (公开的)在有对象的前提下,任何地方都可以直接访问. u  (2)@protected (受保护的)只能在当前类和子类的对象方法中访问 u  (3)@private (私有的)只能在当前类的对象方法中才能直接访问 u  (4)@package (框架级别的)作用域介于私有和公开之间,只要处于同一个框架中就可以直接通过变量名访问 l  使用注意和补充 u  (1)在类的实现即.m文件中也可以声明成员变量,但是因为

黑马程序员——Java基础语法(一) --- 关键字、标识符、注释、常量和变量、运算符

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 本篇博文主要总结java的基础语法,主要的内容包括:关键字.标识符.注释.常量和变量.运算符几部分. 一.关键字 关键字是被Java语言赋予了特殊含义的单词.关键字中所有的字母都是小写. java中的关键字主要包括如下几部分: 1.用于定

黑马程序员---------《基础语法》笔记

mac ox 基础介绍 1.常用的Unix指令 ls-l 列出当前路径的所有文件cd 目录转换pwd 显示当前路径mkdir 新建目录touch 创建文件open 打开文件\文件夹who 显示当前用户名clear 清屏按下Tab键,可以自动补齐指令名称.文件名.文件夹名等 2.Mac的基本操作 DOCK:桌面下方的快捷应用 DOCK的设置:可以根据自己喜好设置DOCK的风格 3.常用快捷键: 拷贝:cmd+c粘贴:cmd+v回退:cmd+z保存: cmd+s关闭窗口:cmd+w退出程序:cmd+

黑马程序员——Java基础语法(三)---数组

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本篇博文主要的内容是java语法的第三部分--数组,数组同一种类型数据的集合.其实,数组就是一个容器.数组可以自动给数组中的元素从0开始编号,方便操作这些元素. 一.数组的定义 数组的格式一:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];如:int[] arr=new int[5]; 数组定义的格式二:元素类型[]数组名=new元素类型[]{元素,元素,……

黑马程序员——Java基础语法(二)---流程控制

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本文主要介绍java基础语法中的流程控制,流程控制是我们写出灵活代码的基础.常见的流程控制主要有四类:判断结构.选择结构.循环结构.其他控制结构 一.判断结构 判断结构的标志是if语句,if语句主要有三种表现形式: 1.if(条件表达式) { 执行语句 } 注意: 1.如果if语句中只有一条语句,那么可以不写大括号.不过初学者一定要写括号,以免出错. 2.如果if语句没写大括号,if就只能控制