<em id="3iliw"></em>
  • <progress id="3iliw"></progress>
  • <tbody id="3iliw"><pre id="3iliw"></pre></tbody><dd id="3iliw"><noscript id="3iliw"></noscript></dd>

    <progress id="3iliw"></progress>

    杭州.net培訓
    達內杭州.net培訓中心

    15925629667

    熱門課程

    十大NET面試試題解答

    • 時間:2015-11-27
    • 發布:杭州.NET培訓
    • 來源:企業筆試題


            1. Object-c的類可以多重繼承么?可以實現多個接口么?Category是什么?重寫一個類的方式用繼承好還是分類好?為什么?
              解答: Object-c的類不可以多重繼承;可以實現多個接口,通過實現多個接口可以完成C++的多重繼承;Category是類別,一般情況用分類好,用Category去重寫類的方法,僅對本Category有效,不會影響到其他類與原有類的關系。
            2.#import跟#include 又什么區別,@class呢,#import<> 跟 #import”"又什么區別?
            解答:#import是Objective-C導入頭文件的關鍵字,#include是C/C++導入頭文件的關鍵字,使 用#import頭文件會自動只導入一次,不會重復導入,相當于#include和#pragma once;@class告訴編譯器某個類的聲明,當執行時,才去查看類的實現文件,可以解決頭文件的相互包含;#import<>用來包含系 統的頭文件,#import””用來包含用戶頭文件。
            3.屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那種情況下用?
            解答:readwrite是可讀可寫特性;需要生成getter方法和setter方法時,readonly是只讀特性  只會生成getter方法 不會生成setter方法 ;不希望屬性在類外改變assign是賦值特性,setter方法將傳入參數賦值給實例變量;僅設置變量時;retain表示持有特性,setter方法 將傳入參數先保留,再賦值,傳入參數的retaincount會+1;copy 表示賦值特性,setter方法將傳入對象復制一份;需要完全一份新的變量時。nonatomic非原子操作,決定編譯器生成的setter getter是否是原子操作,atomic表示多線程安全,一般使用nonatomic。
            4.對于語句NSString*obj = [[NSData alloc] init];obj在編譯時和運行時分別時什么類型的對象?
             解答:編譯時是NSString的類型;運行時是NSData類型的對象;
            5.常見的object-c的數據類型有那些, 和C的基本數據類型有什么區別?如:NSInteger和int;
            object-c的數據類型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,這些都是 class,創建后便是對象,而C語言 的基本數據類型int,只是一定字節的內存空間,用于存放數值;而object-c的NSNumber包含有父類NSObject的方法和 NSNumber自己的方法,可以完成復雜的操作。
            6.id聲明的對象有什么特性?
            解答:Id 聲明的對象具有運行時的特性,即可以指向任意類型的objcetive-c的對象;
            7.Objective-C如何對內存管理的,說說你的看法和解決方法?
        解答:Objective-C的內存管理主要有三種方式:ARC(自動內存計數)、手動內存計數、內存池。
            8.內存管理的幾條原則時什么?按照默認法則.那些關鍵字生成的對象需要手動釋放?在和property結合的時候怎樣有效的避免內存泄露?
            解答:遵循CocoaTouch的使用原則;
            內存管理主要要避免“過早釋放”和“內存泄漏”,對于“過早釋放”需要注意@property設置特性時,一定要用對特性關鍵字,對于“內存泄漏”,一定要申請了要負責釋放,要細心。
            關鍵字alloc 或new 生成的對象需要手動釋放;
            設置正確的property屬性,對于retain需要在合適的地方釋放,
            9.autorelease的對象,在什么時候會釋放,autorelease又 在什么時候使用比較合適呢?
            解答:autorelease將release的調用延遲了。autorelease會將對象放入autoreleasepool中,當pool釋放時, 所有對象都會被release。當從一個方法中返回對象時,因為無法使用 release,所以使用autorelease比較合適。
            10.代理一般是什么時候用呢?
            解答:自身不做實際的事,要求其它類做。 代理也可用來傳值。 代理的目的是改變或傳遞控制鏈。允許一個類在某些特定時刻通知到其他類,而不需要獲取到那些類的指針。可以減少框架復雜度。另外一點,代理可以理解為java中的回調監聽機制的一種類似。

    上一篇:沒有上一篇了
    下一篇:哪些是NET面試常見題型?

    哪些是NET面試常見題型?

    NET面試基礎題型解析

    一個小筆試題在NET上的不同表現

    .NET筆試題集

    選擇城市和中心
    貴州省

    廣西省

    海南省

    国拍自产亚洲 2019国拍自产在线,国拍自产亚洲,国产a在线不卡 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>