OC语言构造方法

article/2025/8/28 16:21:07

OC语言构造方法

一、构造方法

(一)构造方法的调用

完整的创建一个可用的对象:Person *p=[Person new];

New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象);2)使用init方法来对对象进行初始化。

可以把new方法拆开如下:

1.调用类方法+alloc分配存储空间,返回未经初始化的对象

Person *p1=[person  alloc];

2.调用对象方法-init进行初始化,返回对象本身

Person *p2=[p1 init];

3.以上两个过程整合为一句:

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

说明:init方法就是构造方法,是用来初始化对象的方法,注意这是一个对象方法,一减号开头。默认初始化完毕后,所有成员变量的值都为0

 

(二)构造方法的代码示例

需求1,如果我需要让每个对象创建出来的初始值是10,而不是1,应该怎么办呢?

需求2,让学生继承人类,要求学生对象初始化之后,年龄是10,学号是1,怎么办?

(三)构造方法使用注意

(1)子类拥有的成员变量包括自己的成员变量以及从父类继承而来的成员变量,在重写构造方法的时候应该首先对从父类继承而来的成员变量先进行初始化。

(2)原则:先初始化父类的,再初始化子类的。

(3)重写构造方法的目的:为了让对象方法一创建出来,成员变量就会有一些固定的值。

(4)注意点:#1先调用父类的构造方法[super init]; #2再进行子类内部成员变量的初始化。

 

二、自定义构造方法

(一)自定义构造方法的规范

(1)一定是对象方法,以减号开头

(2)返回值一般是id类型

(3)方法名一般以initWith开头

(二)自定义构造方法的代码实现

Person类的声明,其中声明了两个接收参数的自定义构造方法

 

Person类的实现

Student继承自Person类,声明了一个接收三个参数的构造方法

Student类的实现

测试主程序

(三)自定义构造方法的使用注意

(1)自己做自己的事情

(2)父类的方法交给父类的方法来处理,子类的方法处理子类自己独有的属性



http://chatgpt.dhexx.cn/article/qNUJAK2H.shtml

相关文章

oc中写c语言的方法,OC语言description步骤和sel

OC语言description方法和sel OC语言description方法和sel 一、description方法 Description方法包括类方法和对象方法。(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和%输出某个对象时,会调用对象的description方法,并拿到返回值进…

OC语言的概述

(一)OC的简介 OC语言的全名是Object-C编程语言,在程序员的领航里,我们通常简称为OC语言,那么,提到OC语言,他到底是什么样的一门语言呢?OC语言是基于C语言基础上,在进行了一次更高级的…

OC语言1-前期准备

一、OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c代码。 可以使用OC开发mac osx平台和ios平台的应用程序。 拓展名: c语言(.c …

什么是编程语言C语言,什么是oc语言,oc语言是c语言吗?

作为一个ObjecTIve-C的coder,我总能听到一部分人在这门语言上抱怨有很多问题。他们总在想快速学习这门语言来写一个App出来,但他们也总是联想到ObjecTIve-C看上去实在太难了或者在想这些语法符号都是神马玩意?不错,他们问得非常好…

OC语言类的深入和分类

OC语言类的深入和分类 一、分类 (一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类。 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法。 添加一个分类: 文件结构图&…

OC 基础入门

OC 基础入门 OC 源文件 OC 源文件为 .h 和 .m( m表示 message,表示 OC 中的消息机制 ) 在 .m 文件中可以写 OC 代码、C 代码、C 代码。反正 Java 的 .class 文件不能写 C 和 C 。 NS 前缀 从之前的 OC 的历史中知道 OC 来自 NextStep. 所以许多的 OC 的类都是带了 NS 前缀…

OC语言学习记录

目录 一、主要的OC的基本类型介绍 二、IOS属性 1、什么是属性 2、属性修饰符 A、读写性修饰符 B、原子性修饰符 C、assgin和weak D、strong和copy E、retain 三、iOS内存管理 1、什么是内存管理? 2、内存是怎么分配的,是分配在哪里的&#x…

OC语言--OC语言基础、类

一、OC语言基础 1>OC文件的扩展名为.m、.c; 2>OC语言完全兼容C语言,即OC语言中可以写C语言; 3>OC语言也可以写C语言,但是如果要写C语言,则OC文件扩展名为.mm; 4>OC语言是在C语言的基础上增加了最小层的面…

OC语言特性

一、分类 1.1做了那些事?(关键词:明私、分解、私公开化) 声明私有方法,分类头文件放到数组文件.m中,不对外暴露 分解体积庞大的类文件 功能复杂的按功能分类 framework私有方法公开化 1.2特点 &#x…

下载各版本cuda,下载以前版本的cuda

1.打开网址https://developer.nvidia.com/cuda-toolkit-archive 2.下载10.1版本就点击CUDA Toolkit 10.1 3.如图选择自己的版本。 4.打开这个网址就可下载。 5.cd到下载目录,执行sudo sh 文件名 指令 6.移动到continue按enter键确认 7.回复accept 8.不安装驱动 9.安…

Windows下显卡支持的cuda及配套GPU版本pytorch下载全流程(2022.03.27)

Windows下显卡支持的cuda及配套GPU版本pytorch下载全流程(2022.03.27) 一、更新电脑显卡驱动(以mx150为例) 1、打开英伟达驱动下载官网:https://www.nvidia.cn/geforce/drivers/ 2、直接下载自动更新程序&#xff0c…

NVIDIA CUDA和cuDNN显卡历代版本下载地址

NVIDIA显卡计算能力一览表 https://developer.nvidia.com/cuda-gpus Halcon图像库支持深度学习,GPU计算能力要求3.0以上 深度学习必备 先安装N卡的显卡驱动--->再安装cuda-->最后安装cuDNN 显卡驱动 1、NVIDIA官方 https://www.nvidia.cn/Download/index…

Windows 下载与安装CUDA和Pytorch【安装教程、深度学习】

参考链接:Windows 下安装 CUDA 和 Pytorch 跑深度学习 - 动手学深度学习v2_哔哩哔哩_bilibili 0.准备工作 请确保你是NVIDIA的显卡(不能是AMD、集成显卡) 1.下载CUDA 打开developer.nvidia.com/cuda-downloads,打开有点慢 选择…

CUDA下载,以及下载GPU版本的pytorch

一、下载anaconda 因为这步我之前就下好了,主要参考这个链接:史上最全最详细的Anaconda安装教程 二、下载CUDA 1.首先观察自己需要什么版本的CUDA,以及是否安装过CUDA 先cmd,输入命令 nvidia-smi结果如下,所以我们…

[cuda]cuda驱动版本对应+旧版本cuda下载网址

一、背景 本文用于记录在安装cuda时可能需要的网址,留作己用。 二、cuda、nvidia驱动版本对应关系 1. cuda需要的最低驱动版本 2. cuda与对应的驱动版本 三、旧版本cuda下载网址 所有版本的cuda下载地址如下: cuda Toolkit Archive.

下载和安装CUDA和Cudnn(图文详解)

Pytorch环境需要用到CUDA,所以我们要安装CUDA的驱动。这里我安装的是CUDA10.0,对应的Cudnn是7.4.1。 一、下载 CUDA10.0的官网地址,选择好自己所需版本,这里是我推荐的选择,然后点击Download。 cudnn官网地址&#x…

cuda 10.1 下载

最近发现百度到的关于CUDA10.1版本的安装的文章,给的链接已经是10.2版本的了。想找个10.1版本的有点艰难,不过其实官网有历史版本的下载入口的 进入这个地址https://developer.nvidia.com/cuda-toolkit-archive,可以下载旧版本的CUDA 不想去官…

cuda官网下载,本机显卡驱动与cuda、cudnn、pytorch、torchvision安装版本对应表,以及完全卸载CUDA方法

注:如果执行第一步没有找到nvidia-smi指令,重装本机NVIDIA驱动(Linux, Windows 标题中各项版本对应) 重装NVIDIA驱动,选择自己的显卡产品系列和产品编号, 如下图 GeForce RTX 30系列,产品是3080 Ti,系统windows 10 64…