ObjectiveC1基础代码——类和对象
//
// 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;
}
最新文章
- NodeJs 开发微信公众号(二)测试环境部署
- js面向对象笔记
- flex中下拉框的实现
- HTTP笔记之一
- Java JSON、XML文件/字符串与Bean对象互转解析
- c编写程序完成m名旅客和n辆汽车的同步程序代写
- SQL Server 编程入门经典(3)之T-SQL基本语句
- Table Lookup
- 【2】开发环境的搭建,Ubuntu14.04
- The package does not support the device architecture (x86). You can change the supported architectures in the Android Build section of the Project Opt
- Asp.Net Core&;Jenkins持续交付到Windows Server
- 伪类实现特殊图形,一个span加三角形
- [CF528D]Fuzzy Seach
- SharePoint REST API - 一个请求批量操作
- 求树的直径+并查集(bfs,dfs都可以)hdu4514
- GsonFormat根据返回值json快速构建Model
- eclipse打war包编译文件不更新
- node版本查看管理工具
- MongoDB+MongoVUE安装及入门
- shell字符串操作技巧
热门文章
- cocoaPods教程
- Properties/Property文件读取(键值均)乱码问题!
- nORA-01000: 超出打开游标的最大数(SDE连接)
- Please check if the Publishing Tools on the server (System/PublishingTools) are started.
- Dubbo xml配置 和注解配置 写法
- 善用VS中的Code Snippet来提高开发效率 分类: C# 2015-01-22 11:06 69人阅读 评论(0) 收藏
- eclipse GWT开发环境的离线布置方法
- JBoss 系列十一:JBoss Cluster Framework Demo 介绍
- OfficePickers
- [PWA] 19. Cache the avatars