//

//  main.m

//  ObjectiveC1

//

//  Created by scjy on 15/10/30.

//  Copyright © 2015年 lizhipeng. All rights reserved.

//

#import <Foundation/Foundation.h>

//引入头文件(也就是类的.h文件,不能引入.m文件)

#import "person.h"

#import "Dinosaur.h"

int main(int argc, const char * argv[]) {

@autoreleasepool {

//*********     oc第一讲       ***********//

//类和对象

//面向对象的核心是 类 和 对象。

//类:具有相同特征和行为的事物的抽象。特征,行为

//器官

//特性:长在人身上;

//行为:保证人体的正常生活;

//人

//特性:白种人、黑种人、黄种人

//行为:会说会笑会吃饭,会跑会跳会学习。会穿衣会打扮会呼吸,会选择会欣赏会杀生。

//oc中类的定义(定义类分为两个部分)

//.h接口部分(头文件):对外声明类的特征和行为(说明书)

//.m实现部分(文件):对内实现类的行为

//接口部分标志:@interface

//类是模板,对象是具体表现,任何对象需要占用内存空间

//创建对象分两步:分配内存空间和初始化。

//分配内存空间:根据类中声明的实例变量为对象分配内存,将所有实例变量置为默认值0,并返回首地址person *p = [person alloc];

//初始化:为对象的实例变量设置初始值 p = [p init];

//创建对象

//+(id)alloc:表示这个方法属于类,只能类执行。id返回值类型,表示任意类型的对象,即创建好的对象。

//-(id)init:表示这个方法属于对象,只能对象执行。id返回值类型,表示初始化完成的对象。

/*

-(id)init

{

_age = 18;

return self;

}

*/

//指针储存对象的首地址,代指对象。

//1.[[person alloc]init]返回值是对象的首地址,即对象。

//2.p是跟对象同类型的指针变量,储存对象首地址,代指对象。

//创建对象或实例化对象

//person *xiaoming =[person alloc];分配内存空间

//person *xiaoming =[person init];给成员变量赋值

person *xiaoming =[[person alloc]init];

//成员变量赋值用

xiaoming->_name =@"小米摩纳哥";

xiaoming->_sex =@"男";

xiaoming->_age =100;

xiaoming->_height =30;

xiaoming->_hobby =@"学习";

//使用对象,打招呼

[xiaoming eat];

[xiaoming sleep];

[xiaoming teach];

[xiaoming sayHellow];

person *zhangsan =[[person alloc]init];

[zhangsan eat];

[zhangsan sayHellow];

Dinosaur *konglong = [[Dinosaur alloc]init];

//        konglong->_name =@"恐龙";

[konglong speak];

//实例变量操作

//实例变量区分可见度,常见的有三种。

//其一为@public(公开的)

//@protected(受保护的,默认的)

//@pritave(私有的)

}

return 0;

}

最新文章

  1. NodeJs 开发微信公众号(二)测试环境部署
  2. js面向对象笔记
  3. flex中下拉框的实现
  4. HTTP笔记之一
  5. Java JSON、XML文件/字符串与Bean对象互转解析
  6. c编写程序完成m名旅客和n辆汽车的同步程序代写
  7. SQL Server 编程入门经典(3)之T-SQL基本语句
  8. Table Lookup
  9. 【2】开发环境的搭建,Ubuntu14.04
  10. The package does not support the device architecture (x86). You can change the supported architectures in the Android Build section of the Project Opt
  11. Asp.Net Core&amp;Jenkins持续交付到Windows Server
  12. 伪类实现特殊图形,一个span加三角形
  13. [CF528D]Fuzzy Seach
  14. SharePoint REST API - 一个请求批量操作
  15. 求树的直径+并查集(bfs,dfs都可以)hdu4514
  16. GsonFormat根据返回值json快速构建Model
  17. eclipse打war包编译文件不更新
  18. node版本查看管理工具
  19. MongoDB+MongoVUE安装及入门
  20. shell字符串操作技巧

热门文章

  1. cocoaPods教程
  2. Properties/Property文件读取(键值均)乱码问题!
  3. nORA-01000: 超出打开游标的最大数(SDE连接)
  4. Please check if the Publishing Tools on the server (System/PublishingTools) are started.
  5. Dubbo xml配置 和注解配置 写法
  6. 善用VS中的Code Snippet来提高开发效率 分类: C# 2015-01-22 11:06 69人阅读 评论(0) 收藏
  7. eclipse GWT开发环境的离线布置方法
  8. JBoss 系列十一:JBoss Cluster Framework Demo 介绍
  9. OfficePickers
  10. [PWA] 19. Cache the avatars