zoukankan      html  css  js  c++  java
  • ObjectiveC1基础代码——类和对象

    //

    //  main.m

    //  ObjectiveC1

    //

    //  Created by scjy on 15/10/30.

    //  Copyright © 2015年 lizhipeng. All rights reserved.

    //

    #import <Foundation/Foundation.h>

    //引入头文件(也就是类的.h文件,不能引入.m文件)

    #import "person.h"

    #import "Dinosaur.h"

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            //*********     oc第一讲       ***********//

            //类和对象

            //面向对象的核心是 类 和 对象。

            //类:具有相同特征和行为的事物的抽象。特征,行为

            //器官

                //特性:长在人身上;

                //行为:保证人体的正常生活;

            //人

            //特性:白种人、黑种人、黄种人

            //行为:会说会笑会吃饭,会跑会跳会学习。会穿衣会打扮会呼吸,会选择会欣赏会杀生。

            

            //oc中类的定义(定义类分为两个部分)

            //.h接口部分(头文件):对外声明类的特征和行为(说明书)

            //.m实现部分(文件):对内实现类的行为

            //接口部分标志:@interface

            

            //类是模板,对象是具体表现,任何对象需要占用内存空间

            //创建对象分两步:分配内存空间和初始化。

            //分配内存空间:根据类中声明的实例变量为对象分配内存,将所有实例变量置为默认值0,并返回首地址person *p = [person alloc];

            //初始化:为对象的实例变量设置初始值 p = [p init];

            

            //创建对象

            //+(id)alloc:表示这个方法属于类,只能类执行。id返回值类型,表示任意类型的对象,即创建好的对象。

            //-(id)init:表示这个方法属于对象,只能对象执行。id返回值类型,表示初始化完成的对象。

            /*

             -(id)init

             {

             _age = 18;

            return self;

             }

            */

            //指针储存对象的首地址,代指对象。

            //1.[[person alloc]init]返回值是对象的首地址,即对象。

            //2.p是跟对象同类型的指针变量,储存对象首地址,代指对象。

            

            //创建对象或实例化对象

            //person *xiaoming =[person alloc];分配内存空间

            //person *xiaoming =[person init];给成员变量赋值

            person *xiaoming =[[person alloc]init];

            //成员变量赋值用

            xiaoming->_name =@"小米摩纳哥";

            xiaoming->_sex =@"男";

            xiaoming->_age =100;

            xiaoming->_height =30;

            xiaoming->_hobby =@"学习";

           

            

            //使用对象,打招呼

            [xiaoming eat];

            [xiaoming sleep];

            [xiaoming teach];

            [xiaoming sayHellow];

            

            person *zhangsan =[[person alloc]init];

            [zhangsan eat];

            [zhangsan sayHellow];

            

            Dinosaur *konglong = [[Dinosaur alloc]init];

    //        konglong->_name =@"恐龙";

            [konglong speak];

            

            //实例变量操作

            //实例变量区分可见度,常见的有三种。

            //其一为@public(公开的)

            //@protected(受保护的,默认的)

            //@pritave(私有的)

            

            

            

        }

        return 0;

    }

  • 相关阅读:
    架构、框架、组件、插件浅谈理解
    JAVA : 关于高内聚与低耦合
    windows 使用VMWARE 安装mac os
    JAVA 多线程(6):等待、通知 (1)
    JAVA 多线程(5)
    Django 笔记(六)mysql增删改查
    CSS选择器
    ubuntu 安装配置 mysql
    Django 笔记(五)自定义标签 ~ 映射mysql
    Django 笔记(四)模板标签 ~ 自定义过滤器
  • 原文地址:https://www.cnblogs.com/lzp-1713396133/p/4930945.html
Copyright © 2011-2022 走看看