14 c oop objective-c
我知道这些方法,程序,函数和类的基础知识,但我总是混淆区分面向对象编程的对比,所以请问任何机构能告诉我那些简单例子之间的区别吗?
JUS*_*ION 30
甲类,在电流,常规的面向对象,是与功能/程序,该数据(成员函数或方法)的工作结合在一起的数据(成员变量)的集合.除了"包含"(更恰当地"与......相关联")后者之外,该类与其他三个术语没有任何关系.
其他三个术语......嗯,这取决于.
一个功能是计算语句的集合.一个程序也是如此.但是,在一些非常肛门的保持性语言中,函数返回一个值而一个过程不返回.在这些语言中,程序通常用于它们的副作用(如I/O),而函数用于计算并且倾向于避免副作用.(这是我倾向于使用的用法.是的,我是那种肛门保留.)
然而,大多数语言并不是那种肛门保留,因此人们可以互换地使用术语"功能"和"程序",根据他们的背景优先选择其中一种.(Modula-*程序员倾向于使用"过程",而C/C++/Java /则会倾向于使用"函数",例如.)
甲方法是用于结合到类的功能(或步骤)只是术语.实际上,并非所有OOP语言都使用术语"方法".在典型的(但不是通用的!)实现中,方法具有用于访问包含类的隐含的第一参数(称为类似this
或self
类似的东西).正如我所说,这不是普遍的.有些语言使第一个参数显式化(因此允许命名你想要的任何东西),而在其他语言中根本没有神奇的第一个参数.
编辑添加此示例:
以下未经测试和未编译的 C++代码应该向您展示涉及的内容类型.
class MyClass
{
int memberVariable;
void setMemberVariableProcedure(int v)
{
memberVariable = v;
}
int getMemberVariableFunction()
{
return memberVariable;
}
};
void plainOldProcedure(int stuff)
{
cout << stuff;
}
int plainOldFunction(int stuff)
{
return 2 * stuff;
}
Run Code Online (Sandbox Code Playgroud)
在这个代码中getMemberVariableProcedure
,getMemberVariableFunction
都是方法.