黑马程序员——OC基础——OC基本语法和面向对象的基本概念

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一,OC的基本语法

1,关键字:

@interface、@implementation、@end   
@public、@protected、@private、@selector   
@try、@catch、@throw、@finally    
@protocol、@optional、@required、@class  
@property、@synthesize、@dynamic  
self、super、id、_cmd、__block、__strong、__weak、

2,字符串:

OC中的字符串以@开头,比如@"Hello"是OC中的字符串,而"Hello"则是C语言中的字符串。

OC输入字符串使用NSString函数:

NSString *str = [NSString stringWithFormat:@"Hello World"];

3,其他基本语法的使用:

基本数据类型:char、int、float、double、BOOL(YES\NO)

nil:相当于C语言中的NULL,也就是0

基本语句:循环语句(do while、while、for)、条件语句(if、if-else、switch)

注释:单行// 多行/*….*/

4,#import的用途:

跟#include一样,拷贝文件的内容

可以防止文件的内容被重复拷贝

5,NSlog函数:

NSlog函数输出语句时会自动换行

NSlog函数输出时会自动输出时间

NSLog与printf的区别

NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数

NSLog输出后会自动换行,printf输出后不会自动换行

使用NSLog需要#import<Foundation/Foundation.h>,使用printf需要#include<stdio.h>

6,Foundation框架的作用

开发OC、iOS、Mac程序必备的框架

此框架中包含了很多常用的API(应用编程接口)

框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可。即#impor <Foundation/Foundation.h>

二,面向对象

1,面向对象和面向过程的不同:

面向过程关注的是解决问题需要哪些步奏,面向对象关注的是解决问题需要哪些对象

没有开发经验很难感受他们的区别,两种思想都能够达到解决问题的目的,但是解决思路不同

2,类的设计

类的三个属性:类名,属性,方法

类名:类名一般使用有意义的英文单词,通常第一个使用大写英文字母

在OC中一般有两个文件用于描述类

.h文件用于声明类的属性和方法(只声明不实现)

.m文件用于实现.h文件中声明的方法

成员变量:

一般有三种作用域

1,@public 全局访问  

2,@protected 只能在类内部和子类中访问,默认的是@protected

3,@private 只能在类内部访问

方法:

‘+’表示类方法,其对类本身执行某些操作的方法

 ‘-’表示对象的方法,其对类的特定实例执行一些操作例如设置值、检索值和显示值等。

多个参数的方法:

一个参数的方法名: -(返回值类型) 方法名:(参数类型)参数

二个参数的方法名: -(返回值类型) 方法名:(参数类型)参数 方法名:(参数类型)参数名

例如:

- (void)myName:(NSString *)name andAge:(int)age;
方法名是 myName:andAge:

类的声明:

#import "Foundation/Foundation.h"
@interface Car :NSObject
{
     int wheels;
     int speed;
}
@end

NSObject目的是让Car这个类具备创建对象的能力

类的实现:
@implementation Car

  return 0;

@end

创建对象:

int main()
{
    [Car new];
    return 0;
}

在OC中,想执行一些行为,就写上一个中括号

利用类来创建对象,执行了Car这个类的new行为来创建对象

类的行为(方法):

#import "Foundation/Foundation.h"
@interface Car :NSObject
{
     int wheels;
     int speed;
}
@end
//方法三要素:方法名,参数,返回值(声明,实现)
//OC方法中任何数据类型都必须使用小括号()
- (void) run;
在类中实现方法(说明方法有什么作用):
@implementation Car
- (void) run {
    NSLog("车子正在行驶");
}
@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值