zoukankan      html  css  js  c++  java
  • ios学习记录 day16 OC 1

    面向过程:事件为中心   面向对象(OO):事物为中心 面向对象编程(OOP) 

    类:一组具有相同特征行为的事物的抽象.   类是有大小的.   

    对象: 就是类的实例   对象是唯一的 是具体的

    OC中得类分两部分:

    1.接口部分(.h) :声明(特征)

    #import <Foundation/Foundation.h>
    @interface Student : NSObject
    //1.接口部分(.h结尾)
    {
        //实例变量的列表(类的特征列表)
        NSString * _name;//NSString定义一个字符串 相当于C的char *
        NSString * _sex;
        int _age;        //整形的还是用int就行

    }

    //方法列表(类的行为列表,类的方法在接口部分,只是声明,不实现)
    - (void) study;//- (返回值) 方法名
    - (void) sleep;

    @end
    //一对文件中可以实现多个类
    @interface Cat : NSObject
    {
        NSString * _color;
    }
    - (void) bark;
    @end

    2.实现部分(.m):方法的具体实现(行为)

    #import "Student.h"

    @implementation Student
    //实现部分:(.m文件)
    //接口部分中的 所有方法 都必须在实现部分实现
    - (void) study
    {
        NSLog(@"我在学习"); //NSLog打印语句 相当于C的printf
    }

    - (void) sleep
    {
        NSLog(@"Zzzzzz");
    }

    @end

    @implementation Cat
    - (void) bark
    {
        NSLog(@"miao");
    }
    @end

    OC中得对象

    创建对象分两步:1.内存分配:为对象分配内存空间,并返回首地址  2.初始化:在内存中

    alloc开辟内存空间,内存会被填充0.

    实例变量的使用:    //1.类的内部
        //在类的内部,实例变量在任何方法中都可以随意使用
        
        //2.外部访问实例变量时,有可见度的设置
        //三种访问权限(可见度)
        //@public 公开的 表示实例变量可以 在外部 随意调用和改动
        //@protected 受保护的 表示实例变量 在外部 不可以被调用和修改 OC中默认是protected
        //@private 私有的 不可以 在外部 被调用和修改

    作业:

    1.需求:
      (1)定义一个班级类。
    实例变量:所属培训机构,班级名,班级人数、开班时间、授课老师名字。
    方法:初始化、集体活动、开班会。
      (2)定义一个老师类。
    实例变量:名字、性别、年龄、正在教的课程、授课班级。
    方法:初始化、讲课、留作业、验收作业、解决问题、自我介绍。
      (3)定义一个学生类。
    实例变量:名字、性别、年龄、学号、所在班级、任课老师、正在学习的课程。
    方法:初始化、学习、做作业、提出问题、回答问题、自我介绍。

    2.编程实现:在一个视图坐标系中(原点在左上角,原点向右为正x,原点向下为正y,坐标系宽320,高480),创建布置3个矩形对象。第二个和第三个矩形拼接显示的位置,刚好能够完全覆盖第一个矩形。输出这三个矩形的坐标x,坐标y,宽,高,周长,面积。矩形对象不要超出坐标系的范围。需求:
    定义矩形类:
    实例变量:坐标x、坐标y、宽、高、矩形中心点的坐标centerX、矩形中心点的坐标centerY、面积、周长。
    方法:初始化、绘制(输出4个主要数据,面积、周长),计算周长、计算面积。

    3.分数计算:任意的两个分数,对这两个分数的进行加、减、乘、除运算,并输出结果, 注:结果区分正负。
    需求:任意的两个分数,对这两个分数的进行加、减、乘、除运算,并输出结果,注:结果区分正负。

  • 相关阅读:
    python中的pip
    代码块
    Java 中的main方法
    mysql的decimal(10,0) not null问题
    vue 超大 table
    apache2 的https配置和代理https后端nodejs配置
    3分钟解决MySQL 1032 主从错误(转)
    CentOS 7 Apache服务的安装与配置(转)
    mybatis pagehelper多数据源配置的坑
    web worker的用法及应用场景(转)
  • 原文地址:https://www.cnblogs.com/lxllanou/p/3616196.html
Copyright © 2011-2022 走看看