我做了几个做同样事情的课程,但我还是不完全理解其中的差异,哪个最好用。此外,第4个对象不起作用。它说' NameError:name' self'没有定义'虽然我不明白出了什么问题。这就是我写的,输出是7,7,7,0:
public class LinesTabsAdapter extends FragmentPagerAdapter {
private final List<Fragment> fragments = new ArrayList<>();
private final List<String> fragmentTiles = new ArrayList<>();
public LinesTabsAdapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment, String title) {
fragments.add(fragment);
fragmentTiles.add(title);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentTiles.get(position);
}
}
提前感谢您的任何建议。
答案 0 :(得分:2)
好吧,你的类看起来应该是一个函数,但我假设这只是一个例子。说完了
当你的对象需要存储构造它的值以及由它们产生的东西时,这很有用:
class addTwoNumbers1(object):
def __init__(self, number1, number2):
self.number1 = number1
self.number2 = number2
self.result = number1 + number2
当你的对象需要存储的不是构造它的值时,这很有用,buj只是由它们产生的东西:
class addTwoNumbers2(object):
def __init__(self, number1, number2):
self.result = number1 + number2
当您的对象只需要存储构造它的值时,这非常有用。结果应按需求计算,而不是对象状态的一部分。
class addTwoNumbers3(object):
def __init__(self, number1, number2):
self.number1 = number1
self.number2 = number2
def Add(self):
result = self.number1 + self.number2
return result
不。没有意义。这是一个类变量。
class addTwoNumbers4(object):
result = 0
def __init__(self, number1, number2):
self.number1 = number1
self.number2 = number2
result = self.number1 + self.number2