1.OC: Object- C
,面向对象的语言
2、OC 和
C的区别:
<1> oc是 c的超集
,oc是在c语言的基础上做了扩展,c语言中的所有语法,在oc中都可以使用,甚至你可以在工程里加入C++ 语言
<2>oc在c基础上扩展了面向对象的特点
<3>oc
是一门运行时语言
<4>oc为我们提供了丰富的类库

3、 如何学习好OC
?
 
  //1.百度 (ios)

   
//2.看苹果的官方文档(API接口网站)

//3.看博客

   
//4.自己的错误总结

4、 面向对象编程的核心:类和对象
 
  面向对象编程的三大特征:封装,继承,多态
 
  类:具有相同特征和行为(功能)事物的抽象
 对象:就是类的实例化

5、 创建一个类:
   
//1、通过Cocoa touch
class 模板,创建类,自动生成.h 和 .m文件

   
//2、在.h
文件中写类的特征(实例变量) 和方法的声明
   
//3、在.m中写实现部分
 ——*使用类创建对象*——
   
//1、开辟内存空间
   
//2、初始化

6、[
]中括号调用方法
   
//[Person alloc]
给person 这个类发送一个消息alloc(开辟内存空间)

   
//创建对象person1
   
//每一个对象 isa指针 用来指向它的父类,之所有能够调用父类的方法,完全是因为这个
isa  指针;

7、 初始化
如果初始化没有赋值这时默认所有的实例变量都为空;
 
     
     
     person1 =
[person1 init];
  
这条语句同时完成了两件事:开辟内存并初始化;

8、例子:
.h文件:

//@interface
是接口 Person
是类名    :继承自谁
NSObject 是所有Oc类中的基类
//---------------------------Person类的创建对象的特征---------------------

@interface
Person
: NSObject

//特征一定要写在下面那对大括号里面

{     
@public   
//实例变量对@public
修饰后的就能在类的外部访问到这些实例变量了;

   
//类的外部指:.h 和.m
之外的其他文件就叫类的外部

   
//类的内部指:.h 和.m
文件之内

   
//NSString
是OC中字符串类

              
NSString
*_name;//姓名NSString
不是基本数据类型,所以定义它需要加*

   

             
NSInteger   
_age;//年龄NSInteger
是基本数据类型,所以定义变量时不需要加*号
              
NSString
*_sex;//性别
//
----------------------------Persson类型创建出对象所拥有的行为----------
//行为的声明部分

//用 (减号)(- )号
修饰的方法属于对象方法,这个方法只能有我们定义这个类的创建出来对象来调用
//用加好(+)修饰的方法属于类方法,这这方法只能有类来调用

- (id)init;//重写inint写法

- (void)sayHello;//小驼峰命名法

- (void)eat;

//添加一个带参数的方法

//一个冒号:代表一个参数

//写一个带有参数的方法时格式<   
:(数据类型)参数名   >
-
(void)talk:(NSString
*)content;    
//隐匿有参数数据类型
-
(void)talk:(NSString
*)content
withSonmeone : (NSString
*)name;
@end
————————————————————————
.m文件:
/@implementation
是类的实现部分
@implementation
Person
//id
范类型,返回值可以指向任何类型的对象   类似于void * 
-
(id)init{—————————赋给初始值————————
   _name
=
@"翔哥";

_sex
=
@"妖";

_age
=
18;

//打印self地址

NSLog(@"self地址:%p",self);

//谁调用这个方法self
指的就是谁

   
return
self;
————————————————————————————————————
main.m
 文件:
 Person
*p =
[[Person
alloc]init];

//调用sayhello的方法

[p
sayHello];

p->_name
=
@"zhangSan";

p->_age
=
18;

p->_sex
=
@"妖";

[p
sayHello];

//调用吃得方法

   
[p eat];




OC第一天——面向对象的更多相关文章

  1. OC第一节 —— 类和对象

    一.类和对象的概念 1.1类 自己的定义: 具有相同或相似性质对象的抽象. 1.2 对象 自己的定义: 对象是人们要进行研究的任何物体,从最简单的整数到复杂的飞机 等均可以看做是对象. 举例说明: 类 ...

  2. OC中的面向对象语法

    一. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 打开电脑 播放电 ...

  3. OC语言-02面向对象的三大特性

    01封装 #import <Foundation/Foundation.h> @interface Student : NSObject { //@public 成员变量尽量不使用 int ...

  4. OC语言的面向对象—类和对象、方法

    1. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 ➢ 打开电脑 ➢ ...

  5. Java面向对象编程 第一章 面向对象开发方法概述

    一.软件开发经历的生命周期: ①软件分析 ②软件设计 ③软件编码 ④ 软件测试 ⑤ 软件部署 ⑥软件维护 二.为了提高软件开发效率,降低软件开发成本,一个优良的软件系统应该具备以下特点: ① 可重用性 ...

  6. Java面向对象 第一章 面向对象开发方法概述

    一.软件开发经历的生命周期: ①软件分析 ②软件设计 ③软件编码 ④ 软件测试 ⑤ 软件部署 ⑥软件维护 二.为了提高软件开发效率,降低软件开发成本,一个优良的软件系统应该具备以下特点: ① 可重用性 ...

  7. OC中的面向对象语法4

    一. 继承 1. 继承的基本用法 l 设计两个类Bird.Dog // Bird的声明 @interface Bird : NSObject { @public int weight; } - (vo ...

  8. OC中的面向对象语法3

    一. set方法和get方法 1. set方法和get方法的使用场合 @public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西 ...

  9. OC第一讲:类和对象

    今天终于开始进行OC的学习了 一.首先讲了NSLog NSLog是oc里面的输出语句,其用法和printf差不多,但是还是有差别的 1,NSLog是自动换行的,不用像printf那样还需要加'\n': ...

随机推荐

  1. PHP While 循环

    PHP 循环 - While 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. PHP 循环 在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行.我们可以在代码中使用循 ...

  2. CSDN没有审核投诉的真实性直接删除博主上传的资源

      今天打开博客,发现一条未读通知:您上传的资源* * * *因质量投诉没有通过审核,如有疑问,请联系webmaster@csdn.net 我马上去看了下我的资源下载页,资源已经被删除,积分也已清空- ...

  3. 大规模WebGL应用引发浏览器崩溃的几种情况及解决办法

    一般的Web应用基本上不会导致浏览器崩溃,写Javascript代码也不需要管理内存资源,基本也不需要考虑内存"泄露"的问题.随着H5的崛起,越来越多的原本在桌面端的软件也改头换面 ...

  4. leetcode 之 Single Number II

    问题来源:Single Number II 问题描述:给定一个整数数组,除了一个整数出现一次之外,其余的每一个整数均出现三次,请找出这个出现一次的整数. 大家可能很熟悉另一个题目(Single Num ...

  5. proc文件系统探索 之 根目录下的文件[1]

    2.1根目录下的文件2.1.1lock文件内核锁,记录与被打开的文件有关的锁信息. 该文件显示当前被内核锁定的文件.该文件包含的内容是内核调试数据,根据使用的系统的这些数据会变化很大.一个/proc/ ...

  6. VMware中的桥接模式、NAT(网络地址转换模式)、Host-only(主机模式):转自:http://blog.chinaunix.net/uid-11798538-id-3061551.html

    其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍.在个虚拟交换机,分别是-个虚拟机交换机,而在VMware Workstation 5以 ...

  7. Apache shiro集群实现 (一) shiro入门介绍

    近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很 ...

  8. Android在一个TextView里显示不同样式的字体

    在同一个TextView里显示不同样式的字体 public void setSpan(Object what, int start, int end, int flags); 样式1:背景色.粗体.字 ...

  9. SpriteKit中反转Action需要注意的问题

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在SpriteKit中同样有Cocos2D中类似的Ac ...

  10. 20ViewPager demo1,2:接收ViewPager展示View的使用

    Demo1 MainActivity .JAVA package com.qf.day20_viewpager_demo1; import java.util.ArrayList; import ja ...