`

Objective-C语法之类和对象 .

    博客分类:
  • oc
阅读更多
1、类和方法
下图中是一段的类声明的语法展示,声明了一个叫做 MyClass 的类,它继承于根类:NSObject。(根类可以被所有的其他类直接或间接继承。)


[img]

[/img]



下图是一个方法的语法展示,方法的声明由以下几个部分构成:方法类型标识符,返回类型,一个或多个方法签名关键字,以及参数类型和名称。

[img]

[/img]




创建类
1.1、新建版项目,按Command + N 新建文件,创建类Student ,继承与NSObject

1.2、生成student.h  和student.m
#import <Foundation/Foundation.h>

@interface Student : NSObject

@end


#import "Student.h"

@implementation Student

@end



1.3、在头文件里添加类成员变量和方法
@interface

#import <Foundation/Foundation.h>

@interface Student : NSObject
{
    NSString *studentName;
    NSInteger age;
}

-(void) printInfo;
-(void) setStudentName: (NSString*) name;
-(void) setAge: (NSInteger) age;
-(NSString*) studentName;
-(NSInteger) age;
@end



•@interface 类的开始的标识符号 ,好比Java  或 C 语言中的Class  
•@end 类的结束符号
•继承类的方式:Class:Parent,如上代码Student:NSObject
•成员变量在@interface Class: Parent { .... }之间
•成员变量默认的访问权限是protected。
•类成员方法在成员变量后面,格式是:: scope (returnType) methodName: (parameter1Type) parameter1Name;
•scope指得是类方法或实例化方法。类方法用+号开始,实例化方法用 -号开始。


1.4、实现类中的方法
@implementation

#import "Student.h"

@implementation Student

-(void) printInfo
{
    NSLog(@"姓名:%@ 年龄:%d岁",studentName,studentAge);
}
-(void) setStudentName: (NSString*) name
{
    studentName = name;
}
-(void) setAge: (NSInteger) age
{
    studentAge = age;
}
-(NSString*) studentName
{
    return studentName;
}
-(NSInteger) age
{
    return studentAge;
}

@end




1.5、创建类对象,调用方法。
   Student *student = [[Student alloc]init];
    [student setStudentName:@"张三"];
    [student setAge:10];
    [student printInfo];
    [student release];




•Sutdent *student = [[Sutdent alloc] init]; 这行代码含有几个重要含义
• [Student alloc]调用Student的类方法,这类似于分配内存,
• [object init]是构成函数调用,初始类对象的成员变量。

打印结果:
 姓名:张三 年龄:10岁




2、类的实例方法使用多个参数
2.1添加一个多参数的方法和实现
....
-(void) setNameAndAge:(NSString*) name setAge:(NSInteger) age;
....


....
-(void) setNameAndAge:(NSString*) name setAge:(NSInteger) age
{
    studentName = name;
    studentAge = age;
}
....



2.2调用
    
    Student *student = [[Student alloc]init];
    [student setNameAndAge:@"李四" setAge:20];
    [student printInfo];
    [student release];

打印结果:姓名:李四 年龄:20岁




3、自定义构造函数
3.1声明和实现构造函数
....
-(Student*) initWithNameAndAge:(NSString*) name setAge:(NSInteger) age;
....


....
-(Student*) initWithNameAndAge:(NSString*) name setAge:(NSInteger) age
{
    self = [super init];
    
    if ( self ) {
        [self setNameAndAge:name setAge:age];
    }
    
    return self;
}
....


-(id)init 这个方法用于类的初始化创建,每一个类在创建的时候需要调用init方法,使用父类的init 方法得到了self,这就可以做一些子类初始化的工作



3.2使用自定义构造函数:
  Student *student = [[Student alloc]initWithNameAndAge:@"rongfzh" setAge:6];
    [student printInfo];
    [student release];
    [student release];
  • 大小: 42.6 KB
  • 大小: 20.3 KB
分享到:
评论

相关推荐

    Objective-C编程全解最新版.pdf.zip

    1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,因此,理解C语言的基本语法是必要的。Objective-C添加了消息传递机制、类和协议等面向对象特性。 2. **消息传递**:Objective-C中的对象通过发送消息来...

    Objective-C语法快速参考

    - 在学习Objective-C之前,最好先熟悉面向对象编程的基本概念,如类、对象、继承和多态性等。 2. **实践是关键**: - 尽可能多地编写代码并运行,通过实践加深对Objective-C的理解。 - 可以从小项目开始,逐步...

    Objective-C程序设计 第6版.pdf

    然而,Objective-C的独特之处在于它的类和对象概念,这些在书中都有详尽的讲解。 2. **类和对象**:Objective-C中的所有都是对象,由类定义。类是对象的蓝图,包含数据(属性)和行为(方法)。读者将学习如何定义...

    Objective-C学习之路 使用Xcode.zip

    Objective-C的独特之处在于它的消息传递机制和类的概念。消息传递是通过`[receiver message]`的形式实现的,这允许对象之间进行通信。类定义了对象的结构和行为,是面向对象编程的核心。 在Xcode中,我们首先需要...

    Objective-C基础教程(入门教程).pdf

    综上所述,本教程覆盖了Objective-C编程语言的基础知识点,不仅包括语法和结构,还包括与C语言的兼容性、内存管理机制、面向对象编程的核心概念、以及如何在不同操作系统平台上进行开发的介绍。通过这些内容的学习,...

    iPhone开发:Objective-C语法入门.pdf

    Objective-C中的面向对象特性是通过类和对象实现的。类是对象的模板,而对象则是类的实例。 - 定义类: ```objective-c @interface ClassName : SuperClass @end ``` - 实例化对象: ```objective-c ...

    基于Objective-C开发的新闻客户端App.zip

    Objective-C是苹果公司为iOS和Mac OS X操作系统开发的主要编程语言,它扩展了C语言,引入了面向对象的概念。这个新闻客户端App可能是为了提供用户最新的新闻资讯、文章阅读以及个性化定制功能。 【描述】: 描述中的...

    Objective-C 入门指南基础与实践.docx

    Objective-C 是一种典型的面向对象编程语言,它支持类、对象、继承和多态等重要的概念。 1. **类和对象:** - **类:** 是对象的抽象描述,定义了对象应该具有的行为和属性。 - **对象:** 是类的具体实例。 ```...

    objective-c运行时编程指南

    - **Objective-C2.0程序设计语言**:详细介绍了Objective-C语言本身的各种特性和语法。 - **Objective-C版本说明**:列出了在最新版本的macOS系统中有关Objective-C运行时系统的重要更新和变动。 #### 运行时系统的...

    Programming in Objective-C 4th Edition Stephen G. Kochan

    2. **Foundation框架**:这是Objective-C中用于构建iOS和macOS应用程序的核心框架之一。它提供了许多基础类,如`NSString`、`NSArray`等,这些类可以用来处理文本、数组和其他基本数据结构。 3. **类别(Categories...

    Object-C语言教程-提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C

    Objective-C的核心概念之一就是类和对象。类定义了对象的属性和行为。在Objective-C中,类的定义通常包括两个部分:接口(interface)和实现(implementation)。 - **接口**: 描述类的公共接口,包括属性和方法的声明...

    Objective-C 基础语法学习项目

    Objective-C是一种面向对象的编程语言,由Smalltalk和C语言发展而来。它在20世纪80年代初被设计出来,并在苹果公司开发iOS和macOS应用程序时得到了广泛应用。Objective-C的主要特点在于其动态特性、消息传递机制以及...

    Objective-C语法之走进iphone的开发世界那些事儿

    在“Objective-C语法之走进iPhone的开发世界那些事儿”这一主题中,我们将深入探讨这个语言的基础与关键概念,帮助开发者开启iOS应用开发之旅。 首先,Objective-C是C语言的超集,这意味着任何有效的C代码都是...

    Apress Learn Objective-C on the Mac 2nd Edition.pdf

    本书旨在教授读者Objective-C的基本语法和概念,并介绍了与之配套的苹果公司的Cocoa框架(OS X)和Cocoa Touch框架(iOS)。这些框架均采用Objective-C编写,包括了构建OS X和iOS用户界面所需的全部元素以及其他功能...

    Learn-Objective-C(zh)(v2.pdf

    Objective-C是一种主要在苹果的Mac OS X和iOS操作系统上使用的面向对象的编程语言,它继承了C语言的特性同时加入了Smalltalk风格的面向对象编程特性。自从2014年苹果公司发布了Swift编程语言之后,Objective-C的地位...

    Objective-C基础教程.pdf.zip

    总的来说,"Objective-C基础教程.pdf.zip"将引导你深入理解Objective-C的各个方面,包括它的语法、面向对象特性、内存管理和框架应用,这些都是成为iOS和macOS开发者所必需的基础知识。通过这个教程,你将能够编写出...

Global site tag (gtag.js) - Google Analytics