-C 学习笔记 类和对象
//
// main.m
// Project2_类和对象
//
// Created by game912 on 2018/12/20.
// Copyright © 2018年 john. All rights reserved.
//
#import <Foundation/Foundation.h>
//创建一个类 相当于 创建一个新的类型 ( eg.结构体)
// OC 中的类 必须要继承一个父类 C++ swift 都可以没有父类
// NS 是最基础的一个基类
// @interface @end 这是一个类声明
@interface Person : NS
{
//int long _high; 这个是C语言特征 占用字节长度会根据 操作系统 32/64 变为变化
NSInteger _high; //在C语言之上封装。不用关系操作系统的变化
NSUInteger _uhigh;
char name[20]; //内存区域
char* names; //字符指针 字符串首地址
NSString* _names;
NSUInteger _age;
CGFloat _weught;
}
@end
//类的实现。你对现有类提供方法的实现
@implementation Person
//方法
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@\"Hello, World!\");
//构建对象 两种方式
//OC 的对象都是动态分配 不能进行静态分配, 也就是说 只能指针访问
/*
OC 调用方法的机制 本质是 消息机制 []
[接受者 消息(方法)]
[对象 对象方法]
[类名 类型方法]
*/
Person* p = [Person new]; //OC 中 [类名 类型方法] 动态分配 堆区域创建
//p->_age = 18;
//对象的释放 向对象发送 release
//现在 ARC 自动关机内存 automic reference counting 释放掉 引用为0 的对象
//之前 MRC 手动管理内存
//[p release]; 项目关掉 ARC automic reference counting 为 NO
}
return 0;
}
类的声明
@interface Person : NS
{
}
@end
类的实现
//类的实现。你对现有类提供方法的实现
@implementation Person
//方法
@end
经过声明和实现的类才能使用
继续阅读与本文标签相同的文章
-
什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了
2026-05-18栏目: 教程
-
11个点让你的Spring Boot启动更快
2026-05-18栏目: 教程
-
2019年9月份 阿里云域名优惠口令汇总
2026-05-18栏目: 教程
-
《安全说道》第三期 | 你家“大门”关好了吗?猪猪侠有话说
2026-05-18栏目: 教程
-
为什么支付宝有这么多“原生”技术牛人?
2026-05-18栏目: 教程
