Object-C【01】OC语言简述

OC简述:
(1)IOS开发的核心语言
(2)在C语言的基础上,对C封装,增加了面向对象的特性
(3)IOS开发也兼容C、C++混编
(4)OC源文件的扩展名为.m,(C源文件的扩展名为.h)
(5)OC中用NSLog函数打印输出
(6)编译器会将.m文件编译为.h目标文件(eg:main.m文件会被编译成main.o文件)

Xcode中的快捷键:

OC中使用  #import 导入源文件,eg:
#import <Foundation/Foundation.h>

C语言中使用  #include 导入源文件,eg:
#include <stdio.h>

       //OC中 几种常用类型的定义:
        // 整型
       
NSInteger a = 10 ;
       
NSLog ( @"a is %ld" ,a);
       
       
// 字符串
       
NSString *s = @"wxhl" ;
       
NSLog ( @"s is %@" ,s);
       
       
// 布尔型
       
BOOL b = true ;
        bool c = YES;
类  是抽象的概念,是对现实生活的描述。
对象  是具体的实体。是对类的实例化。
“人”类
属性(特征)
姓名
性别
年龄
方法(行为)

对象的特征——属性,对象具有的特征,反映对象的信息(每个属性都有其特定值)
类是对象的类型,具有方法,所有属于同一各类的对象,都具有相同的特性和操作

/*定义一个Manager类,有两个属性:username(用户名)、password(密码).
写出两个属性的get、set方法。设计一个修改密码的方法。
*/
Mageter.h文件中:
#import <Foundation/Foundation.h>
@interface Manager : NSObject
{
    NSString *_userName;
    NSInteger _password;
}
//set 方法
- ( void )setUserName:( NSString *)username;
- ( void )setPassword:( NSInteger )password;
//get 方法
- ( NSString *)username;
- ( NSInteger )password;
// 修改密码方法:
-( void )changePassword:( NSInteger )oldPassword;
@end
Manager.m文件中:
#import "Manager.h"
@implementation Manager
//set 方法
- (
void )setUserName:( NSString *)username{
   
_userName = username;
}
- (
void )setPassword:( NSInteger )password{
   
_password = password;
}

//get 方法
- (
NSString *)username{
   
return _userName ;
}
- (
NSInteger )password{
   
return _password ;
}
// 修改密码方法:
-( void )changePassword:( NSInteger )oldPassword{
   
if (oldPassword != _password ) {
       
NSLog ( @" 密码不正确,修改失败! " );
       
return ;
    }
   
NSLog ( @" 请输入新密码: " );
   
NSInteger newPassword;
   
scanf ( "%ld" ,&newPassword);
   
_password = newPassword;
   
NSLog ( @" 修改成功! " );
//    NSLog(@" 管理员信息: %@      %ld",_userName, _password);
    [
self showInfo ];
}

- (
void )showInfo{
   
NSLog ( @" 管理员信息: %@      %ld" , _userName , _password );
}
@end
main.m文件中:
#import <Foundation/Foundation.h>
#import
"Manager.h"

int main( int argc, const char * argv[]) {
   
@autoreleasepool {
       
Manager *manager = [[ Manager alloc ] init ];
       
        [manager
setUserName : @"admin" ];
        [manager
setPassword : 888888 ];
       
NSLog ( @" 请输入旧密码: " );
       
NSInteger oldPassword;
       
scanf ( "%ld" ,&oldPassword);
        [manager
changePassword :oldPassword];
    }
   
return 0 ;
}

//若密码为字符串,则将密码的类型改为:NSString*_password;
Manager.m文件中修改密码部分:
    NSLog( @" 请输入新密码: " );
    NSString *newPassword;
   
char *str = malloc( 10 );
    scanf(
"%s" ,str);
    newPassword = [NSString stringWithCString:str encoding:NSUTF8StringEncoding];
    _password = newPassword;
    NSLog(@" 修改成功! " );
main.m文件中:
        NSLog( @" 请输入旧密码: " );
        NSString *oldPassword;
       
// 从键盘接收字符串
       
char *str = malloc( 10 );
        scanf(
"%s" ,str);
        oldPassword = [NSString stringWithCString:str encoding:NSUTF8StringEncoding];
        [manager changePassword:oldPassword];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值