PDA

View Full Version : Property Or Function?



benyamin_pc
جمعه 13 مرداد 1385, 01:04 صبح
سلام
چرا باید در جاهایی که معمولا قراره تابع کار مختصری انجام بده مثلا فقط یک مقدار را بر گرداند بجای تابع بهتره از خاصه استفاده کنیم چرا؟؟:متفکر: مگه چه فرق داره ؟؟

محمد میرمصطفی
جمعه 13 مرداد 1385, 04:36 صبح
هیچ لزومی نداره، فقط ئاسه دو دلیل: 1- property از method دم دست تره و راحتر میشه ازش استفاده کرد. 2- برنامه OOPتر می شه.

اَرژنگ
جمعه 13 مرداد 1385, 06:46 صبح
سلام
چرا باید در جاهایی که معمولا قراره تابع کار مختصری انجام بده مثلا فقط یک مقدار را بر گرداند بجای تابع بهتره از خاصه استفاده کنیم چرا؟؟:متفکر: مگه چه فرق داره ؟؟

http://en.wikipedia.org/wiki/Object-oriented_programming
Class (http://en.wikipedia.org/wiki/Class_%28computer_science%29) — a class defines the abstract characteristics of a thing,
including the thing's characteristics (i.e. its properties)
and the things it can do (i.e. its methods) (http://en.wikipedia.org/wiki/Methods).

benyamin_pc
جمعه 13 مرداد 1385, 10:16 صبح
منظورتون از اینکه دم دست تره چیه؟از لحاظ سرعت کامپایل فرقی می کنه؟؟

omid_Ahmadi
جمعه 13 مرداد 1385, 15:38 عصر
یه پراپرتی در زمان کامپایل به دو تابع get و set با پروتوتایپ مشخص تبدیل میشه، پس در ذات تفاوتی نداره که شما از پراپرتی استفاده کنید و یا از متد. برای رعایت اصول شئی گرایی (انکپسولیشن) هم می تونید از متد یا پراپرتی که در واقع یه مدل متد هستن استفاده کنید.

توی یه کتابی خوندم که توصیه کرده بود در مواقعی که برای بدست اوردن یه نتیجه باید یه سری موارد مشخص انجام بشه بهتره از متد استفاده بشه تا کاربر بدونه این نتیجه که دریافت میکنه به صورت خاصی محاسبه می شه. اما در مواقعی که صرفا مقدار یه متغیر بعد از بررسی صحت درستی داده دریافتی تنظیم میشه و یا به کاربر داده میشه، بهتره از پراپرتی استفاده بشه.

benyamin_pc
جمعه 13 مرداد 1385, 16:21 عصر
بهتره ایجوری بگم کارهای خاصی هست که با Property بشه انجام داد ولی با Function نشه؟؟

omid_Ahmadi
جمعه 13 مرداد 1385, 16:34 عصر
بهتره ایجوری بگم کارهای خاصی هست که با Property بشه انجام داد ولی با Function نشه؟؟


جوابش رو قبلا دادم.



یه پراپرتی در زمان کامپایل به دو تابع get و set با پروتوتایپ مشخص تبدیل میشه، پس در ذات تفاوتی نداره که شما از پراپرتی استفاده کنید و یا از متد.

محمد میرمصطفی
شنبه 14 مرداد 1385, 14:50 عصر
در سطح برنامه‏نویسی، از بخوای ی مقداری رو بخونی و بنویسی باید دو تا تابع داشته‏باشی ولی یک property کارتو راه میندازه. واسه همین می گم دم دست تره.