c 为什么要明智地使用静态类

发布于 科技 2024-05-21
17个回答
  1. 匿名用户2024-01-28

    什么是静态类。

    静态类是直接通过静态示例挪用的类,而无需实例化到对象中。

    从本质上讲,静态类是面向过程的,因为通常它只是将原来面向过程的**机械地集合在一起,虽然结果是类体质的存在,但此时的类更像是皇帝的新衣,所以可以说静态类其实披着面向对象的外衣, 做面向过程的事情。

    面向对象设计的原则之一:为接口编程,而不是为实现编程。 有什么区别?

    打个比方:撇开**因素不谈,你更喜欢带有独立显卡的计算机还是带有集成显卡的计算机? 我想大多数人都会选择独立显卡。

    独立显卡可以看作是接口的编程,而集成显卡可以看作是实现的编程。 这样一来,实现编程的缺点就凸显出来了:它失去了转换的可能性和灵活性。

    请注意,在某些情况下,静态延迟绑定还可以提高静态类的可测试性。

    所以,静态类也有好的一面,比如它们非常适合实现一些无状态的效用类,但大多数时候,我的主观意识很清晰,多用对象少静态类,避免系统过早固化。 但是,有人说静态类比比对象等更快,我没有比较过,所以。

  2. 匿名用户2024-01-27

    1.这不是对静态类的合理使用,而是对静态属性的合理使用。 我们不反对使用静态类,对于类似 API 的存在,纯粹是静态方法集合的静态类有其便利性。

    2.对于以非 API 方式存在的东西,不建议使用静态类。 尤其是那些绑定到线程、线程池等的东西,而且大多数静态属性都是非线程安全的。

    3. 静态类本身具有与上下文无关的特性,因此具有“遍历”性质,可以随时随地调用,而这个特性正是 API 所需要的。 对于与上下文密切相关的内容,不建议使用静态类。

  3. 匿名用户2024-01-26

    一个类的静态成员属于一个类,什么是类? 类是用于生成对象的模板; 静态成员属于一个类而不是一个对象,并且进一步静态共享成员(因此在 VB 中称为共享),并且该静态成员可以访问此类的任何对象。 现在假设静态成员可以访问对象中的变量,并且由于静态成员在生成任何具体对象之前就已经存在,因此静态成员将根本无法访问该对象的任何成员,因为该对象根本不存在。

  4. 匿名用户2024-01-25

    静态类主要是共享的,静态类的内部成员必须是静态的。

    静态通常是在加载程序时构造的。

    就我个人而言,我在程序配置部分使用静态类最多的是,由于它的共享特性,需要以多种形式调用,最主要的是程序启动时就初始化了。

    静态类可以有构造函数,但它们只被调用一次。

    至于上面提到的程序的配置数据部分,如果使用非静态类,那么需要手动初始化它,然后才能随时访问它,并且还需要将其分配给静态变量才能使用。

    如果你需要在他构造之前的某个地方调用它,你还需要修改你构造他的位置。

    系统会在使用完成后自动销毁并释放非静态类,因此非静态类相对安全,而静态类在程序完成后销毁并驻留在内存中直到销毁,因此出错的可能性会更大。

    建议不要使用太多的静态类,在正确的时间使用它们。

  5. 匿名用户2024-01-24

    第一句话:静态类和类成员用于创建无需创建类实例即可访问的数据和函数。

    由此我们可以得出结论,我们不需要实例来创建非静态类,我们可以直接使用它。

    句子 2:静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么,这些数据和函数都不会随之更改。

    我理解这句话的意思是,一旦创建了一个静态类,静态类就会独立于原来的实体,它们不会因为改变实体的方法而影响静态类。

    第 3 句:当类中没有依赖于对象标识的数据或行为时,可以使用静态类。

    这句话把我吵醒了,他切入主题,告诉我们什么时候可以声明静态,当我们的静态类不依赖于主题并且它可以完全独立时,我们可以声明它是静态的。

    摘要:1 静态类可以直接调用,不需要声明实体。

    2 静态类不会因为主题的变化而影响主题。

    3 只有当静态类声明不依赖于主体时,才能声明它们。 介绍很清楚。 希望能有所帮助。

  6. 匿名用户2024-01-23

    首先,我想问一下。 谁告诉你多久使用它一次?

    这两样东西不能经常使用

    静态变量使用静态修饰符声明,静态修饰符是在实例化类时创建的,通过没有静态修饰符声明的类访问的变量称为非静态变量。

    实例化对象时会创建一个静态变量,通过该对象访问的同一个 c 静态变量对于类的所有实例都是相同的值,而对于同一类的不同实例,同一个非静态变量可以具有不同的值。

    不能在静态函数的实现中使用非静态成员。

    c 静态方法和属性在程序启动时全部加载到内存中,无论以后是否使用。 即使没有人再访问程序,这部分内存仍然不会被释放,所有访问者看到的静态属性的数据几乎是一样的,例如用户 A 设置了用户名属性,当用户 B 访问时,获取的用户名仍然是用户 A 设置的用户名。 这种功能,如果用在固定数据中,问题不大,比如连接字符串等等。

    c 静态方法 数据成员属于类,而不是某个对象,因此不需要实例化它们来调用它们; 静态方法和静态数据成员等效于共享变量。 它对类中的所有对象都是通用的,因此在需要共享数据时定义此类型时,它是一个不错的选择。 一旦定义了一个类(不一定是实例化对象),该类的所有静态成员都会被加载到内存中(程序启动时不会加载到内存中,如果未定义类,则不会加载到内存中)静态成员的作用域与其所属类的作用域相同。

    这意味着你的程序已经完成。 即使没有实例化对象。 这些也存在于内存中。

    因此,它对操作速度有很大影响(如果您将其用于大型项目)。

    所以。 它不经常使用。

  7. 匿名用户2024-01-22

    谨慎使用它,这个东西会在程序运行时添加到内存中(无论你是否访问它)。

  8. 匿名用户2024-01-21

    我给你举个例子!!

    静态方法用于表示类的行为,而不是其对象的行为。

    例如,将学生分配到班级的任务是所有学生作为一个小组的事情,而不仅仅是单个学生的事情。

    静态方法是在定义中使用 static 关键字声明的,该关键字位于修饰符和方法返回的类型之前,格式为:[Method Modification] static return value type 方法名称(参数列表)。

    注意:它的访问关键字,即方法修饰符,与普通方法相同,但很少使用私有,因为通常需要外部类来访问这些定义的静态方法。

    调用静态方法时,不需要实例化类的对象,只需直接引用即可。 这就是静态类和方法如此特别的原因,也是它们与普通类和方法的不同之处!

    示例:下面给出了一个使用静态方法计算矩形面积的典型示例。

    Rectangle 类。

    /<\summary>

    public class sqrt

    上面的方法用静态方法getarea()创建一个类sqrt来计算一个矩形的面积,使用起来非常简单,这个静态方法可以用下面的**来调用:

    static void main(string args)

    使用 sqrt 类直接引用此方法,而无需实例化矩形对象。

    下面网友说得很对,这个静态方法不能实例化,比如:

    sqrt shili =new sqrt();

    是错误的,首先是静态方法描述的是集合体,而不是对象,因此无法实例化。

    静态成员:数据成员、方法成员和类型成员。 成员可以是常量、字段、对象等。

    静态字段需要使用静态:

    例如:static int total ;

    静态成员属于类,因此请使用“类名”。 静态字段”。

    int i=200;

    当然,c中还有其他的静态成员,比如静态方法!! 需要注意的是,静态方法只能直接访问静态类!

    静态类:它仍然具有对象的抽象,并且可以将类声明为静态以指示它仅包含静态成员。 不能使用 new 关键字创建静态类的实例。

    静态类加载了 .将自动加载 .NET Framework 公共语言运行时 (CLR)。

    静态类功能:仅包含静态成员。 无法实例化。 是密封的。 不能包含实例构造函数。

    静态类就像一个容器,包含静态方法、静态字段、类使用的属性、大量参数以及其他一些有助于完成任务的东西。 可以简单地理解为一个不能通过放置静态方法和静态属性来实例化的类!

  9. 匿名用户2024-01-20

    静态类不能实例化(即我们通常说不能是新的),静态类只能包含静态成员! 如果一个类中有静态方法,可以直接用类名调用它!

    此外,实例类还可以包含静态成员(如属性),但当您实例化对象时。 他首先初始化类的静态成员,然后初始化非静态成员! 所以一楼的说法是不合适的。

    例如,您的一个类中有一个公共静态 int number=100;

    那么这个类实例化的所有对象的 number 值都会指向同一个对象,如果你改变任何一个对象的这个数字的值,另一个对象的 number 的值也会改变! ~

  10. 匿名用户2024-01-19

    我不知道理论是什么意思。 但我知道。 如果它变为静态,则不会被修改。 而且。 当类、方法和属性是静态的时,无需新对象即可直接单击它们。

  11. 匿名用户2024-01-18

    非静态方法、成员、类等只有在调用时才分配空间,如果你的程序经常使用一些工具方法,你可以将这些方法设置为静态方法。

  12. 匿名用户2024-01-17

    当调用静态方法时,通过类名访问,例如,users 类中有一个语句方法 add(),调用时可以直接编写; 静态成员包括 static 方法和静态全属变体,静态类在著名类出现时在类前面添加 static 关键字。

  13. 匿名用户2024-01-16

    看来我只能帮你解决三分之一的问题,静态成员简单来说,在同一个类中,有静态成员和非静态成员,静态方法和非静态方法,static 只能使用 static,当你声明一个带有 static 关键字的全局变量时,它只能由带有 static 关键字的方法使用。

  14. 匿名用户2024-01-15

    静态类是在调用类时不实例化该类的对象。 直接使用类名。 方法。

  15. 匿名用户2024-01-14

    只是你使用它时不需要去新的。 您可以直接使用它。

  16. 匿名用户2024-01-13

    静态方法是在方法名前添加static,调用对象时不需要声明对象,可以直接classname。方法名称调用,实例需要定义类对象,如 t a = new t(); 通过一个方法名称调用。

  17. 匿名用户2024-01-12

    声明方法时再加一个静态关键字就是静态方法,实例方法都是没有静态关键字的,希望对您有所帮助。。。

相关回答
27个回答2024-05-21

路由器,wifi不好用,一般设置不对,设置步骤: >>>More

4个回答2024-05-21

法律分析:第35类商标几乎涉及各行各业,以电商和电话营销平台为例,第35类是电商、电话营销平台、自导企业家等所有新兴互联网行业必须注册的大类,否则将面临侵权、不必要的经济损失和负面的品牌影响。 商标注册第35类: >>>More

20个回答2024-05-21

首先,我是一个实用主义者。

既不赞成使用goto,也不反对使用goto,因为使用好的goto确实可以缓解我们从复杂逻辑中解放出来,只要问问,如果你**需要做一个重要的任务,但是在事故的最后发生了一个错误,这个时候该怎么办。 你可以用goto跳转到一个函数中一个任务的开头,也有人说你可以用循环和循环条件来解决它,但这没什么大不了的。 完全没有必要,您可以使用 setjmp 和 longjmp 作为 goto 的替代品。 >>>More

26个回答2024-05-21

在 C++ 中,指针是变量的地址。

由于在函数传递参数C++---实际上只有一种形式,因此将变量的地址传递给函数将使函数易于修改参数的值。 >>>More

11个回答2024-05-21

许多制造商最初使用英特尔的 CPU,直到后来 AMD 崛起后,AMD CPU 才部分使用 AMD >>>More