codecamp

Apex - 类

什么是类?

类是创建对象的模板或蓝图.。一个对象是一个类的一个实例。这是类的标准定义。 Apex类与Java类类似。


例如:

例如,InvoiceProcessor类描述了具有我们可以用Invoice执行的所有方法和操作的类。如果创建一个实例则它将表示当前在上下文中的单个Invoice


创建类

您可以在开发人员控制台,Force.com Eclipse IDE和Apex类别详细信息页面中在Apex中创建类。


从开发者控制台:

第1步:进入名称,然后单击开发人员控制台。

第2步:点击文件=>新建,然后单击关于Apex类


Apex类


从Force.com IDE:

第1步:打开Force.com Eclipse IDE

第2步:通过点击File => New => Apex Class创建一个新项目。

第3步:提供类的名称,然后单击OK。

一旦完成,将创建新类。


来自Apex类别详细信息页面:

第1步:点击Name => Setup

第2步:搜索“Apex类”,然后单击链接。 它将打开Apex类别详细信息页面。


搜索“Apex类”

第3步:点击“新建”,然后提供类的名称,然后单击保存。

新建

Apex类结构

下面是Apex类定义的示例结构。


语法:

private | public | global 
[virtual | abstract | with sharing | without sharing] 
class ClassName [implements InterfaceNameList] [extends ClassName] 
{ 
// Classs Body
}

此定义使用访问修饰符,共享模式,类名和类主体的组合。 我们将进一步看看所有这些选项。


例如:

以下是Apex类定义的示例结构:

public class MySampleApexClass {//Class definition and body
	public static Integer myValue = 0;  //Class Member variable
	public static String myString = ''; //Class Member variable
	
	public static Integer getCalculatedValue () {
        //Method definition and body
		//do some calculation
		myValue = myValue+10;
		return myValue;
	}
}


访问修饰符

Private如果您将访问修饰符声明为“私有”,则此类将仅在本地已知,并且您无法在该特定片段之外访问此类。 默认情况下,类有此修饰符。


Public如果你声明该类为“公共”,这意味着这个类是可访问您的组织和您定义的命名空间。 通常,大多数Apex类都使用此关键字定义。


Global如果将类声明为“全局”,那么无论您的组织如何,都可以由所有顶点代码访问。 如果您使用webservice关键字定义方法,那么必须使用global关键字声明包含类。


共享模式

共享:

这是Salesforce中的Apex类的一个特殊功能。当使用“With Sharing”关键字指定类时,它具有以下含义:当类将被执行时,它将尊重用户的访问设置和配置文件权限。假设,用户的操作已经触发了30条记录的记录更新,但用户只能访问20条记录,并且不能访问10条记录。然后,如果类正在执行更新记录的操作,则只有20个记录将被更新,用户有权访问,其余10个记录不会更新。这也称为用户模式。


无共享:

即使用户无法访问30个中的10个记录,所有30个记录也将随着类在系统模式下运行而更新,即它已使用无共享关键字定义。这称为系统模式。


虚拟:

如果你使用'virtual'关键字,那么它表示这个类可以被扩展并允许覆盖。如果你想覆盖方法,那么类应该使用virtual关键字声明。


抽象:

如果你声明该类为'abstract',那么它将只包含方法的签名,而不是实际的实现。


类变量

语法:

[public | private | protected | global] [final] [static] data_type variable_name [= value]

在上面的语法中:

  • 变量数据类型和变量名称是必需的
  • 访问修饰符和值是可选的。

例如:

public static final Integer myvalue; 


Apex - 集合
Apex - 类方法
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }