- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开始学习 OOP,我想了解什么构成了类。我对一些核心元素的使用有多么松散感到有点困惑,从而增加了我的困惑。
我已经看过 C++ 类、java 类,我想了解足够的知识来编写自己的伪类来帮助我理解。
例如this article我读到了这个(..类属性(或类属性、字段或数据成员)
我已经看到相当好的删减问题,表明类属性和类字段之间存在差异,例如 What is the difference between a Field and a Property in C#?
根据我正在学习的语言,定义是
不同语言之间存在差异?
最佳答案
“字段”、“类变量”和“属性”或多或少是相同的 - 附加到对象的低级存储槽。每种语言的文档可能一致地使用不同的术语,但大多数实际程序员可以互换使用它们。 (但是,这也意味着某些术语可能不明确,例如“类变量” - 在语言中可以解释为“给定类的实例的变量”或“类对象本身的变量”其中类对象是您可以直接操作的对象。)
在我使用的大多数语言中,“属性”完全是另一回事 - 它们是一种将自定义行为附加到读/写字段的方法。 (或者替换它。)
因此,在 Java 中,典型的示例是:
class Circle {
// The radius field
private double radius;
public Circle(double radius) {
this.radius = radius;
}
// The radius property
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
// We're doing something else besides setting the field value in the
// property setter
System.out.println("Setting radius to " + radius);
this.radius = radius;
}
// The circumference property, which is read-only
public double getCircumference() {
// We're not even reading a field here.
return 2 * Math.PI * radius;
}
}
(请注意,在 Java 中,属性 foo
是一对名为 getFoo()
和 setFoo()
的访问器方法 - 或者只是如果属性是只读的,则为 getter。)
看待这个问题的另一种方式是“属性”是一个抽象 - 对象的 promise ,允许调用者获取或设置一段数据。而“字段”等是此抽象的一种可能实现。上例中的 getRadius()
或 getCircumference()
的值可以直接存储,也可以计算,这对调用者来说并不重要; setter 可能有也可能没有副作用;这对调用者来说并不重要。
关于class - OOP 术语 : class, 属性、特性、字段、数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751269/
你能比较一下属性吗 我想禁用文本框“txtName”。有两种方式 使用javascript,txtName.disabled = true 使用 ASP.NET, 哪种方法更好,为什么? 最佳答案 我
Count 属性 返回一个集合或 Dictionary 对象包含的项目数。只读。 object.Count object 可以是“应用于”列表中列出的任何集合或对
CompareMode 属性 设置并返回在 Dictionary 对象中比较字符串关键字的比较模式。 object.CompareMode[ = compare] 参数
Column 属性 只读属性,返回 TextStream 文件中当前字符位置的列号。 object.Column object 通常是 TextStream 对象的名称。
AvailableSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。 object.AvailableSpace object 应为 Drive 
Attributes 属性 设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。 object.Attributes [= newattributes] 参数 object
AtEndOfStream 属性 如果文件指针位于 TextStream 文件末,则返回 True;否则如果不为只读则返回 False。 object.A
AtEndOfLine 属性 TextStream 文件中,如果文件指针指向行末标记,就返回 True;否则如果不是只读则返回 False。 object.AtEn
RootFolder 属性 返回一个 Folder 对象,表示指定驱动器的根文件夹。只读。 object.RootFolder object 应为 Dr
Path 属性 返回指定文件、文件夹或驱动器的路径。 object.Path object 应为 File、Folder 或 Drive 对象的名称。 说明 对于驱动器,路径不包含根目录。
ParentFolder 属性 返回指定文件或文件夹的父文件夹。只读。 object.ParentFolder object 应为 File 或 Folder 对象的名称。 说明 以下代码
Name 属性 设置或返回指定的文件或文件夹的名称。可读写。 object.Name [= newname] 参数 object 必选项。应为 File 或&
Line 属性 只读属性,返回 TextStream 文件中的当前行号。 object.Line object 通常是 TextStream 对象的名称。 说明 文件刚
Key 属性 在 Dictionary 对象中设置 key。 object.Key(key) = newkey 参数 object 必选项。通常是 Dictionary 
Item 属性 设置或返回 Dictionary 对象中指定的 key 对应的 item,或返回集合中基于指定的 key 的&
IsRootFolder 属性 如果指定的文件夹是根文件夹,返回 True;否则返回 False。 object.IsRootFolder object 应为&n
IsReady 属性 如果指定的驱动器就绪,返回 True;否则返回 False。 object.IsReady object 应为 Drive&nbs
FreeSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。只读。 object.FreeSpace object 应为 Drive 对象的名称。
FileSystem 属性 返回指定的驱动器使用的文件系统的类型。 object.FileSystem object 应为 Drive 对象的名称。 说明 可
Files 属性 返回由指定文件夹中所有 File 对象(包括隐藏文件和系统文件)组成的 Files 集合。 object.Files object&n
我是一名优秀的程序员,十分优秀!