美文网首页
oc 基础 类的属性声明 和方法调用

oc 基础 类的属性声明 和方法调用

作者: xq9527 | 来源:发表于2021-03-17 16:16 被阅读0次

成员变量 和方法的声明

#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Phone : NSObject{
    //声明属性
    @public
    CGFloat  _screenSize;
    NSString * _color;
    CGFloat _memory;
}
-(void)makeCallToSomeone:(NSString *)someone;
-(void)sendMessage:(NSString *)message toReceiver:(NSString *)recevier;
@end
NS_ASSUME_NONNULL_END

方法的实现

// 类的实现我们放在.m文件 中
#import "Phone.h"
@implementation Phone
-(void)makeCallToSomeone:(NSString *)someone{
    NSLog(@"给%@打电话",someone);
}
-(void)sendMessage:(NSString *)message toReceiver:(NSString *)recevier{
    NSLog(@"\n收件人 :%@\n%@",recevier,message);
}
-(NSString *)description{
    NSLog(@"调用 description  方法");
    return [NSString stringWithFormat:@"手机信息 :\n屏幕尺寸 : %f英寸, 机身尺寸:%@ ,内存大小 :%fM",
            _screenSize, _color, _memory];
}
@end

实例化对象 和方法调用

  • 我们在main.m文件中导入我们的 Phone.h文件


    image.png
  • 实例化对象
 Phone * phone=[Phone new];
  • 属性赋值
 phone->_screenSize=4.7;
 phone->_color=@"红色";
 phone->_memory=1024;
  • 类方法调用
 [phone makeCallToSomeone:@"小明"];
 [phone sendMessage:@"今天天气真不错" toReceiver:@"陈子豪"];
  • 打印类
NSLog(@"%@",phone);

日志观察

image.png
如果我们想让我们成员变量在外部类 赋值 我们需要在成员变量上面加 @public 才可以 应为在 {}里面的成员变量默认是受保护的

关于打印类

其实我们在 打印phone这个类的时候 默认是调用了 description 所以我们在phone.m文件重写了这个方法
如果重写 并做处理

image.png
就会显示这样的日志
所以我们平常需要重写 description 类似java 里面的toString 方法
-(NSString *)description{
    NSLog(@"调用 description  方法");
    return [NSString stringWithFormat:@"手机信息 :\n屏幕尺寸 : %f英寸, 机身尺寸:%@ ,内存大小 :%fM",
            _screenSize, _color, _memory];
}

oc基础做一个简单记录

相关文章

  • oc 基础 类的属性声明 和方法调用

    成员变量 和方法的声明 方法的实现 实例化对象 和方法调用 我们在main.m文件中导入我们的 Phone.h文件...

  • OC和Swift混编遇到的一些小麻烦

    一. OC中调用swift类中的方法时,编译器有时找不到方法声明 OC调用swift类中的方法,swift类需要有...

  • 2018-04-01

    oc中对于类的属性声明和实现其getter和setter方法,oc 2.0中增加了属性声明,就是可以不用单独为每一...

  • 2018-04-01

    oc中对于类的属性声明和实现其getter和setter方法,oc 2.0中增加了属性声明,就是可以不用单独为每一...

  • OC基础-category(4)关联对象添加成员变量

    OC基础 - 类添加成员变量属性 = ivar + setter(声明,实现) + getter(声明,实现)类扩...

  • OC&iOS

    OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...

  • OC基础学习:类方法和对象方法的调用过程

    类方法中不能直接访问属性。 在类方法中也不能通过self直接调用当前类的其他的对象方法。 参考: OC-基础总结(一)

  • From Objective-C to Ruby(4)-类和模块

    类 定义类 OC: ruby: 初始化方法 OC: ruby: 实例变量和属性 OC: ruby: 类方法和对象方...

  • Swift OC类里面调用Swift方法

    在OC类里面引入Swift类 在Swift中,为你准备调用的方法和属性,添加@objc 添加之后,在OC中,就可以...

  • 从OC到Swift

    Swift调用OC类和方法 在工程名-Bridging-Header.h中添加需要调用OC类的头文件.h OC调用...

网友评论

      本文标题:oc 基础 类的属性声明 和方法调用

      本文链接:https://www.haomeiwen.com/subject/sslecltx.html