ورود

View Full Version : طریقه فراخوانی توابع از نوع کلاس ؟



zbd1989
سه شنبه 08 اردیبهشت 1394, 21:25 عصر
public Users getCurrentUser() {

Users u = null;
SharedPreferences settings = context.getSharedPreferences("user", 0);

boolean isLogin = settings.getBoolean("isLogin", false);
if (isLogin) {

adapter.open();
u = adapter.getUserById(0); // FOR TESTING !!!!
adapter.close();
return u;
} else {
return null;
}


می خوام این تابع رو در برنامم فراخوانی کنم چطوری صداش بزنم(قبلا این تابع رو در جای دیگه تعریف کردم)
users اسم کلاس هست

tux-world
سه شنبه 08 اردیبهشت 1394, 22:03 عصر
این یه تابع استاتیک از یه کلاسه. میتونی با اسم کلاسش صدا بزنی یعنی اسم کلاس رو اول بیاری پارانتزها رو ببندی نقطه بزاری بعد اسم این تابع مثلا


Users().getCurrentUser()

بهتره مباحث شی گرایی رو مطالعه کنید

Nevercom
چهارشنبه 09 اردیبهشت 1394, 01:44 صبح
در تعریف تابع مشخص نشده که استاتیک هست، پس به شکلی که اشاره شد در دسترس نیست.
همچنین مشخص نیست که این تابع در کدوم کلاس تعریف شده، در واقع Users نوع داده ی خروجی این متد هست.

فرض کنیم کلاسی تحت عنوان UsersClass (یا هر کلاسی که خودتون این تابع رو در اون تعریف کردید) وجود داره که متد در اون کلاس پیاده سازی شده، برای استفاده از این متد در کلاس های دیگر به شکل زیر باید عمل کنید:

UsersClass class = new UsersClass();
Users currentUser = class.getCurrentUser();