zoukankan      html  css  js  c++  java
  • 面试题8

    41、OC中有无多重继承,怎样实现多重继承

    (1)没有多重继承

    (2)cocoa中全部的类都是NSObject的子类。多继承在这里是用protocl托付代理来实现的

    (3)面向对象语言大部分都是单继承。如:java 、c#

    (4)c++是支持多继承的


    42、static全局变量与普通变量的差别,局部变量呢?函数呢?

    (1)static全局变量与普通的全局变量有什么差别:static全局变量仅仅初始化一次,防止在其它文件单元中被引用。

    (2)static局部变量和普通局部变量的差别有什么差别:static局部变量仅仅被初始化一次,下一次根据上一次结果值;

    (3)static函数与普通函数有什么差别:static函数在内存中仅仅有一份,普通函数在每一个被调用中维持一份拷贝


    43、什么是类目与延展?

    (1)类目:为已知的类添加新的方法

    (2)延展:通知在本类的定义里使用类目来声明私有方法


    44、OC中的协议和java中的接口差别?

    (1)协议定义的方法,能够设置可选实现、必须实现。java中的接口则必须所有实现


    46、单例设计模式的实现。为什么要使用单例设计

    static File *instance = nil;

    @implementation File

    //获取单例的方法

    + (id)shareInstance{
        @synchronized(self){
            if (instance == nil) {
                instance = [[File alloc]init ];
            }
        }
        return instance;
    }

    //覆写allocWithZone、copyWithZone、retain、release、autorelease方法,目的是限制这个类仅仅创建一个对象

    为什么使用单例设计?

    1、单例设计是用来限制一个类仅仅能创建一个对象。那么此对象中的属性能够存储全局共享的数据,全部的类都能够訪问、设置此单例中的属性数据

    2、假设一个类创建的时候很的耗费性能,那么此类能够设置为单例节约性能,假设能满足需求

  • 相关阅读:
    SQL语句中exists/not exists的用法分析
    码元、符号、波特率、比特率等概念的了解
    LED学习及一个花样流水灯的实现
    数学建模总结
    单片机控制继电器
    透明传输
    DNN4.8+SQL 2005 EXPRESS安装及DNN 4.8版本的新特性与其他版本的差异
    为什么我被google 迷住了!还很激动!Google是什么?它为何有趣
    四角号码查询器 第3版 发布
    google base不只是ebay!令人激动的google base
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6917500.html
Copyright © 2011-2022 走看看