OC 类的创建及初始化方法

OC基础系列-认识接口、类、方法 接口: 一个很奇怪的现象,创建OC文件会有两个文件生成,一个是.h文件,一个是.m文件,其中.h文件被称为接口文件或者头文件,.m文件则被称为实现文件。 两者功能如下: .h头文件管理接口部分;.m文件管理实现部分。 类: 接口标志:@interface …@end oc文件都以end结尾 类的作用:声明类的实例变量和方法 类所包含的内容:类名、父类名、实例变量、实力方法等。 举个例子: .h... 阅读详情


        // 创建对象(OC中几乎所有的对象都存在堆区) ,NSString一些创建方式是存在常量区。

         // 发送消息(函数的调用):[消息接受者方法名];

        // 如果为 - 方法,消息接受者为对象,

        // 如果为 + 方法,消息接受者为类名。

一、

#import<Foundation/Foundation.h>

#import"Phone.h"

#import "Car.h"

#import"Person.h"

 intmain(intargc, const char * argv[]) {

    @autoreleasepool {


    // 这种方法几乎不用

     // 第一步: 分配内存空间

//        Car *car = [Car alloc];    

//        // 第二步初始化

//        car = [car init]

       //常用的创建对象方法 

        //返回值是对象的首地址,即对象。

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

        // [Car alloc]返回一个car对象,再用car对象调用init。

        Car *car = [[Car alloc] init];

        // 如果实例变量用@public修饰,那么访问实例变量用:对象名->实例变量名

        // NSLog自带换行,打印出时间,项目名,线程编号。

NSLog(@"%@,%@,%d",car->_color,car->_brand,car->_price);

        // 发送消息(即函数的调用)

        [car introduce];

        [car drive];

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

        [person introduce];

 

        Phone *iphone = [[Phone alloc] init];

        [iphoneshow_brand:@"apple"show_size:4];

NSLog(@"这是%@的%d手机",iphone->_brand,iphone->_size);

 

        //为实例变量赋值

person->_name= @"ysss";

person->_gender= @"w";

person->_age= 29;

 

        //为实例变量取值

int age =person->_age;

NSString *name =person->_name;

 

    }

return 0;

}


二、

//  Car.h

#import<Foundation/Foundation.h> 

//.h文件又叫接口文件,也可以叫声明文件

  //当前类名:父类名

 

//代码规范:类名首字母大写,实例变量要以下划线开头

@interface Car :NSObject

  // 实例变量(特征)全部写在大括号里面

{

     // 只要不是C语言的int,float,char等基本类型,变量面前全部加* 号。

  @public

    // 作为区分,实例变量要下划线开头。

NSString*_color;

NSString*_brand;

int _price; 

} 

// (方法)行为的声明

- (void)drive;

-(void)introduce;


//.m 文件又叫做实现文件

#import"Car.h"

   //类名和文件名可以不一致,但是一致有利于查找。

@implementationCar

 

// 重写init方法

// instancetype为不确定类型。

// self 谁调用这个方法,谁就是self

 

-(instancetype)init{

    _color = @"blue";

    _price = 100;

    _brand =@"拖拉机";

return self;

}

 

- (void)drive{

    // 只要不是C语言的基本类型全部用%@打印

NSLog(@"%@",_brand);

}

 

-(void)introduce{

NSLog(@"%@%@ %d",_brand,_color,_price);

}

 

@end

 





基于STM32智能震动报警器震动检测声光报警系统设计 *单片机设计介绍,基于STM32智能震动报警器震动检测声光报警系统设计。 阅读详情

相关推荐

【小贪】万字长文介绍因果推断和增益模型

本文首先从一个实例出发阐述了因果性不等于相关性,进而引出因果推断和增益模型。然后简单介绍了因果推断的基础内容,并介绍了主要的三类增益模型:元学习、增益直接建模、表示学习,每一类模型都简要介绍了其经典模型。之后介绍了增益模型的评价指标,包括uplift bins、uplift curve和qini曲线。增益模型实际上是一大类模型框架,本质上可以用传统响应模型或其他机器学习模型嵌入增益模型的框架,但是预测结果并不是一个概率,模型评价方式也有变化。训练样本收集增益模型建模强依赖于ab实验,数据要求很高。

打瞌睡_的博客 2506

OC基础---初始化方法

完整的初始化方法: -(void)init{ self = [super init];//给super发送init消息:即执 行父类中的init方法 if(self) { 初始化设置; //子类自己的初始化设置 } return self; //初始化完成,返回对象本身 }

cherry_711的博客 870

WRF和WPS安装和编译时遇到的问题

检查是否自己netcdf和Fortran编译器一致。解决办法:修改configure.wps里的路径。如果没问题且wrf已成功编译,考虑重新。path修改为jasper在的路径。

m0_54898744的博客 1837

oc——类——初始化

概述 iOS 中对象创建是分两步完成: 分配内存 初始化对象数据成员 创建NSObject对象的过程: 苹果官方有一副图片更生动的描述了这个过程: 初始化方法 c++类有构造函数,构造函数负责实例对象初始化,构造函数函数名与类名一致,易识别,且会自动调用 oc类没有构造函数,但有类似构造函数的初始化方法,初始化函数与类名不一致,且不会自动调用 oc类初始化方法特征: instance method Method返回类型为instancetype Method的SEL以init起始 初始化方法分类:

mardax的专栏 1045

计算机组成原理课程设计_微程序控制的简单模型机设计

微程序控制的简单模型机设计 要求 基本要求 完成一个简单主机的设计,模型机应具备如下能力:在自行设计的指令集基础上,运行自行编写的简单用户程序,实现特定运算功能。 弹性要求 在此基础上,完成必要的扩展,实现模型机的功能扩展设计,包括:实现多种运算功能(指令集的扩充)、支持更为丰富的寻址方式、有更为完善的微程序设计等。 实验软件和硬件环境 QuartusII, FPGA计算机组...

sailist的记录站 3万+

ArcGIS基础:点要素分割线要素和提取线要素的交点

第一个实验:【点要素分割线要素】看下原始数据:下图所示,2个红点和一条绿线,用2个点去分割这条线。 找到【数据管理工具】,在找到【要素】,再找到【在点处分割线】,如下图所示。 输入线、点要素,然后在【搜索半径】里输入5米,查看一下结果。 查看结果发现,线段被分割了2段,我们查看一下原因。 发现第2个点与线有一段距离,肯定是大于5米的,所以分割没有成功。可以量测一下距离,重新输入搜索半径。 我们把搜索半径改为200米,勘察结果,被点分割了3段。 接下来使用另外一个工具【在折点处分割线】,如下所示。

yuanYW7556的博客 1万+

OC-初始化、实例方法、类方法、工厂方法

OC-初始化、实例方法、类方法、工厂方法

shuan9999的博客 2400

手把手教你用TiggerRamDisk绕过iPhone/iPad激活锁(支持iOS16.3,Win/Mac双平台保姆级教程)

本文详细介绍了如何使用TiggerRamDisk工具绕过iPhone/iPad的激活锁,支持iOS16.3系统,并提供Windows和Mac双平台的保姆级教程。从工具准备、设备连接到核心解锁流程,一步步指导用户完成操作,帮助二手设备或旧设备重获新生。

weixin_29323493的博客 907

黑马程序员_OC中类的创建

OC是一门面向对象的语言,因此它也有类、对象、静态\动态方法、成员变量的概念。那么OC中如何创建一个类呢? 一般一个类都包含类名,属性(成员变量),行为(方法),和C语言函数一样,完整地写一个类包括类的声明和实现。 类的声明用来声明对象的属性、行为,类的实现主要包括方法的实现。 下面创建一个OC类: #import @interface Car : NSObject { @pub

suiyuan78223的专栏 876

PLC集群管理:C#上位机实现10台以上分布式PLC的集中监控与指令下发

本文介绍了一套基于C# WPF开发的PLC集群管理系统,用于解决现代工业自动化产线中分布式PLC监控难题。系统采用三层解耦架构,支持100台以内不同品牌PLC的集中管理,具备批量数据采集、指令下发、实时报警等功能。核心创新点包括:1)基于异步IO的连接池管理;2)统一通信接口设计;3)寄存器合并优化算法;4)三级优先级指令队列。实际应用表明,系统数据采集延迟低于100ms,指令下发成功率99.9%,有效解决了传统单PLC监控模式存在的效率低下问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 507

【C语言】字符常量详解

字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。

LuckiBit 5017

iOS OC语言(一)语法简介 , OC 的特点

OC 语言简介以及特点 OC 创建类和对象

Carry_FeiKer的博客 694

通过分子模板构建随机分布在溶液中的纳米颗粒(一)

通过分子模板构建随机分布在溶液中的纳米颗粒 要实现的目标: 1、可以循环建立多个水分子溶液的模型; 2、针对不同水分子数,自动创建文件夹; 3、运行完毕将所有结果自动存储在对应文件夹里; 分子模板的具体教程请见我的博客: https://blog.youkuaiyun.com/qq_43689832/article/details/104443175 1、首先,我们先建立纳米颗粒的分子模板,命名为p_30.txt: 包括两种原子类型。具体格式如下: # LAMMPS molecule file makin.

Rockyoung 2650

ios c语言调用oc方法,ios开发之OC基础-类和对象(示例代码)

本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点。建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来。这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写、改写代码。在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路。一定要明确一个要从事的方向,要不然就会...

weixin_39517199的博客 593

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

oc对象模型理解

首先,OC和Foundation是两个不同的东西,OC是一门编程语言,Foundation是一个为OC而生的为了方便程序员使用的编程框架。 这里可以用各司其职来形容它们:      作为一门面向对象编程语言,OC本身只需要关注自己的对象模型的管理,也就是它只需要管理好OC对象,类,这些东西的组织和联系。      而作为一个基于OC的框架,Foundation关注的则是让程序员更方便

Make___的专栏 2084

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

(无码+有码)OC入门和字符串的常用方法

OC入门知识 类: 在OC中,所有的类都继承自祖先类 在main()函数里想要使用该类,要先初始化该类的对象, 对象命名规则:类名 *对象名 = [类名 new]; 当写代码时,要养成良好的代码规范,从入门开始 类里面的方法可以有定义不使用 声明类中的方法和方法传递参数 - (返回值)函数名:(参数类型)参数名  and参数名:(类型)参数名 字符串 声明:文章

bin236的博客 5115

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OC学习笔记01-类的声明实现与对象创建,方法声明实现与调用及传参

#include //OC基本库Foundation主头文件 @interface Autobot :NSObject //声明的类继承NSObject类 { //member variable必须写在{}中 @public //public 后的所有instance variable都是公共的 int wheels ,speed; char *name; } - (void) t

u012158482的专栏 1456

爬爬爬之路:OC语言(一) 语法简介

前言OC是对C语言的扩充. C语言的弊端: 维护升级十分复杂 面向对象的特点: 封装 继承 多态 什么是对象: 万物皆对象OC的特点 是C语言的超集, 允许在OC中使用C语言的源代码. 编译器兼容C语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富(指开发人员写的类库) 分析对象是最重要的一环, 是保证程序的扩展性 健壮性 最重要的一步. 面向对象编程设计: 分析设计到的对下

慢慢向上爬的蜗牛的博客 955

OC 复习 小结 第一讲 类和对象

序言前段时间开始学习OC后, 学的不好, 就没更新博客了, 最近终于告一段落了, 在学习UI的同时复习下OC.正文第一讲 类和对象概述 Objettive - C 简称 OC , 是扩充自C语言的面向对象编程.OC的特点 : 1. 是C语言的超集, 允许在OC中使用C语言的源代码, 编译器兼容C语言 2. 具备完善的面向对象特性 3. 包含一个运行时系统

xim9160的博客 655

OC 类和对象 练习题

OC 类和对象 练习题/* 1、 新创建一个Student类,该类中包含几个成员变量(姓名name,性别gender,年龄age,身份证号code,电话号phoneNumber) 2、 使用init方法给每个成员变量赋值 3、 自定义一个方法,打印输出该学生的爱好; 在同一个工程中实现: 1、新创建一个Teacher类,该类中包含几个成员变量(姓名name,授课课程teach,) 2、给

Mr_dyc的博客 576

OC面向对象(上)第5章

整理总结了一下最近两周学习OC的底章的内容。面对对象的程序设计过程中有两个重要的概念:类(class)和对象(object,也称为实例,instance)。类和对象是面向对象的核心。接口部分:定义类包含的成员变量和方法实现部分:为类的方法提供实现。int _count;id _data;@end@interface:用于声明定义类的接口部分@end:表明定义结束花括号中声明类的成员变量,花括号后面的部分用于声明类的方法其中,成员变量和方法是非常重要的概念。

2401_87841908的博客 765

ios-学习 dsbridge oc使用(转)

1.先pod进去dsBridge pod “dsBridge” 2.然后官网给我解析就是开始创建一个JsApiTest类,但是没有说明这个类是干什么的,其实这个类中的方法都是js调用oc的方法。 #import "JsApiTest.h" #import "dsbridge.h" @implementation JsApiTest // 同步 - (NSString *)testSyn: ...

CanFlyp的博客 1546

Objective-C中的便利初始化函数和便利构造器

程序在实际使用过程中,对象和对象的实例变量的值不一定相同,这个时候可以在init方法调用的时候传入一个我们需要的数据。 于是便有 便利初始化函数 框架类库中有一些init开头的方法,都是便利初始化函数 但是,系统框架提供的初始化方法不一定都适用我们的需求,所以我们同样可以在类中定义自己的便利初始化函数。 便利构造器 便利构造器都以className开头,(类名首写字母开头),并且都是类方

qq_34478149的博客 787

OC第一天——面向对象

1.OC: Object- C ,面向对象的语言 2、OC 和 C的区别: oc是 c的超集 ,oc是在c语言的基础上做了扩展,c语言中的所有语法,在oc中都可以使用,甚至你可以在工程里加入C++ 语言 oc在c基础上扩展了面向对象的特点 oc 是一门运行时语言 oc为我们提供了丰富的类库 3、 如何学习好OC ?     //1.百度 (ios)     //2.看苹果的官方文档(API接口

韩俊强的博客 1295

oc 笔记 面向对象上

在这一节我会去接受 oc 中属性使用getter和setter方法,在属性中其实是自带setter和getter,而且他还具有一定的扩展性比如可以重命名getter和setter。那这里我们去举个例子来介绍属性的相关内容@interface fkuser2 : NSObject//属性的相关代码@end@implementation fkuser2//属性//_name可以换成任意变量名只要和@synthesize正确绑定即可@end。

2501_91494333的博客 1047

oc c语言,OC之C语言的基础知识

OC之C语言基础for循环实现三角形1.[文件] Person.h~363B 下载(3)//// Person.h// Hello//// Created by DGSCDI on 15/10/9.// Copyright © 2015年 com.tianyi. All rights reserved.//#import @interface Person : NSOb...

weixin_33731135的博客 345
下一篇: 实例变量可见度和方法(setter,getter 方法)
Yz_iOS
博客等级 码龄11年 1粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值