Apple / iPhone / Logic のブログ

Apple / iPhone / Logic のブログ

Apple関連の記事や、Objective-C/Pythonなどのプログラミングなど、自身が調べたことなどを書いていきます。

Amebaでブログを始めよう!

テーマ:
カスタムクラスを作成し、次にカスタムクラスから継承されたサブクラスを作成、メソッドの呼び出し/オーバーライドを行う。



クラス名:「Personal」
処理内容:
・入力された名前を表示する
・入力された年齢を表示する

----------------------------------------------------------------------------------------------------
#coding: UTF-8
#module name: mymod.py

class Personal:
 age = 0
 name = u""

 def __init__(self,name,age): #selfとメンバー変数を初期化する
  self.name = name
  self.age = age

 def printData(self): #クラスのメソッドを定義する
  print "%s : %s years old." % (self.name,self.age)
  #%とは「フォーマット演算子」であり、後ろについている
  # % (self.name,self.age)のself.nameとself.ageの値を当てはめて
  #出力するようになっている
----------------------------------------------------------------------------------------------------

使用方法:
#encoding: UTF-8
#test.pyというファイルを作成し、そこに上記のクラスを読み込んで使用する。

import mymod

value = mymod.Personal('HogeHoge',25)
value.printData()


出力結果:
HogeHoge: 25 years old.








次にクラス「Personal」を継承して、メソッドを追加にて実装するサブクラス「SuperPersonal」を作成する

クラス名:「SuperPersonal」
処理内容:
・スーパークラスとなる「Personal」からメンバー変数を継承
・入力された性別を出力する(SuperPersonalで追加実装する=>メソッドのオーバーライドとなる)


----------------------------------------------------------------------------------------------------
#coding: UTF-8
#test2.pyというファイルを作成し、継承/サブクラスを作成する

import mymod

#外部ファイルのmymodに記述されているクラス「Personal」を元にする
class SuperPersonal(mymod.Personal):
 m_or_f = u"未入力"

 def __init__(self,name,age,mf):
  super(SuperPersonal,self).__init__(name,age)
  self.m_or_f = mf

 def printData(self): #メソッドのオーバーライドを行っている
  print u"名前: %s(%s)" % (self.name,self.m_or_f)
  print u"年齢: %s歳" % (self.age)


value = SuperPersonal(u"HogeHoge2",30,u"男")
value.printData()
----------------------------------------------------------------------------------------------------


出力結果:
名前: HogeHoge2(男)
年齢: 30歳

テーマ:
Apple / iPhone / Logic のブログ


昨日発売されたSnow Leopard(Mac OSX 10.6)をクリーンインストールし、
既存のソフトウェアの動作状況について調べてみた。

使用マシン
MacBook Pro MB471J/A
Intel Core 2 Duo 2.53GHz
RAM 4GB
HDD 320GB

インストールしたソフト
・XCode 3.1(for Snow Leopard)
・iLife '09
・iWork '09
・Logic Pro 8
・Logic Pro 9(US発売版)
・iZotope Ozone 3
・iZotope Ozone 4
・Melodyne 3.1
・Addictive Drum
・Native Instruments FM8
・Native Instruments Massive
・Native Instruments Traktor Pro
・Microsoft Office 2008
・VMWare Fusion 2.0.3
・Adobe Creative Suite 4(CS4)
・Adobe Lightroom 2
・Toast 10
・FileMaker Pro 10 Advanced
・MPlayer OSX
・RealOne Player
・RealPlayer
・Skype
・Google App Engine Launcher

外部機器
・FW-410(オーディオインターフェイス)
・Canon MP-600(複合機プリンター)


アプリケーションについては正常にインストールが完了し、
実際動作させても今のところ不具合はないようだが、
起動カーネルによってFW-410が認識されない(ドライバが対応していない)
という問題が発生した。

アルミニウムのMacBook/MacBook Proについては起動カーネルが
64bit対応(capable)になるため、64bitで起動するとFW-410に限らず、
対応されていないものなどが今後でてきそうなので、しばらくは
32bitカーネルのみで動作させる。(たぶん32bitカーネルなら問題は
発生しないと思う。)



Snow Leopardを使用してみての印象だが、Finderなど、多くのグラフィカルな
点においてCocoaで書き直しをされているらしく、なんとなく全体のグラフィックが
美しくなっている気がする。
また、全体の動作が「ただ速い」という感じではなく、「安定感を持ちつつ速い」印象がある。
以下の動作を行った際に動作が速くなったと感じる。

・データのコピー(外部HDDからのデータコピーは特に速い気がする)
・アプリケーションのインストール(インストール時間が短くなった)
・アプリケーションの起動(OS標準のアプリケーションの起動が特に速い)
・Exposé で「すべてのウィンドウ」を表示した際のウィンドウ認識速度
・アプリケーションの強制終了


ただ、一般的にいわれている「マシン自体の起動が速い」というのは体感できず、Leopardとそれほど変わらない気がしている。




また、使用しているMacのプロセッサとEFIがどうなっているか調べるには
ターミナルを起動して

ioreg -l -p IODeviceTree | grep firmware-abi

で確認できる。

(ちなみに自分の場合は
| | "firmware-abi" = <"EFI64">
となっている)


また、Core 2 Duo のプロセッサを搭載しているマシンの場合はすでに64bitカーネル対応となるので

/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Kernel Flags
arch=x86_64

と書き換えることで64bitモードで起動することができる。
(または起動音が鳴った際に「6」「4」キーを同時押しでも64bitカーネルで起動可能)

もしくは32bit/64bitカーネルを切り替えるソフトを利用する。
(下記URLよりダウンロード可能)

Ameba人気のブログ