• [Objective-c 基础


    Obj-C中没有包得概念,使用前缀进行区分

    自带类用NS开头命名
    关键字使用@开头
     
    A. 第一个OC程序
    1. 导入Foundation框架的主头文件
    #import <Foundation/Foundation.h>
    自动过滤重复引入的文件
     
    2. 源代码和头文件
    (1) .h : 类的声明文件
    (2) .m : 类的实现文件

    3.使用终端编译链接OC程序
    例如:编译链接 02OC.m
     cc 02OC.m -framework Foundation
    系统默认带的是C函数库,必须加上 framework 参数,引入Foundation框架
     

    B.OC和C的差异
    1.BOOL类型
    BOOL只有YES 和 NO 两个值,实际是 1 和 0
     
    2.面向对象
    (1)面向过程:关心步骤
    (2)面向对象:只关心结果
     
     
    C. OC中的类
    1.在同一个.m文件中入门体验:
    #import <Foundation/Foundation.h>

    //类的声明
    @interface Car : NSObject
    {
        //@public 可以让外部指针访问内部的成员变量
        @public
        int wheels;
        int speed;
    }

    //OC方法中任何数据类型都必须用()括起来
    - (void) run;

    @end

    //类的实现
     1 @implementation Car
     2 - (void) run
     3 {
     4     NSLog(@"车子跑起来");
     5 }
     6 
     7 @end
     8 
     9 int main()
    10 {
    11     Car *c = [Car new];//创建对象,分配内存空间
    12     c->wheels = 4;
    13     c->speed = 250;
    14     NSLog(@"车子有%i个轮子,时速是%i", c->wheels, c->speed);
    15     [c run];
    16    
    17     return 0;
    18 }
    2.常见错误
    (1)声明中不能赋初值,不能使用static等C语言中得修饰符
    (2)不能嵌套声明、定义
    (3)方法和函数要分辨开,C语言中的是函数,类中的是方法,方法也不能使用static等修饰符
    (4)使用类之前,要先声明,类似于函数
     
     
    ps:继承NSOject 让类具有实现对象的功能
     
    在声明中定义的方法全是公共方法
    数据类型都要小括号括起来 
     
    1.声明:
    1 @interface Student : NSObject
    2 {
    3     int age;
    4 }
    5 //'-' is used to define dynamic method, '+' is used to define static method
    6 - (int) getAge;
    7 - (void) setAge:(int)age;
    8 @end
     
    2.定义
    类的实现使用关键字@implementation, @end
    xx.m
     1 #import "Student.h"
     2 
     3 @implementation Student
     4 - (int) getAge
     5 {
     6     return age;
     7 }
     8 - (void) setAge:(int)newAge
     9 {
    10     age = newAge;
    11 }
    12 @end
    3.创建对象
    所有OC对象都是指针
    (1)分配空间
            //allocate the memory by static method, accept the obj by pointer
            Student *stu = [Student alloc];
    ps:OC中只能用指针间接操作对象
     
     
  • 相关阅读:
    Tkinter的Radiobutton组件
    Tkinter的Canvas组件
    python小程序-日历查询器
    python语言Tkinter的Button组件
    python异常处理机制(try:except)
    python中OS模块的使用
    正则表达式-常用函数的基本使用
    正则表达式-常用元字符的基本使用
    html框架iframe与frameset的介绍
    常见form表单5种input输入类型
  • 原文地址:https://www.cnblogs.com/hellovoidworld/p/4119231.html
Copyright © 2020-2023  润新知