返回首页

public和private的区别?

167 2024-11-04 21:36 admin

一、public和private的区别?

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用

2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。

3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

二、private bills and public bills的区别?

private bills 是私人收据的意思,而and public bills则是公共账单,区别可以从以下例子看出:

I have to keep all receipts in different bags, one bag contains public bills, and other containers private bills for my husband and myself. 我必须把所有的收据放在不同的袋子里,一个袋子是公共账单,其他容器是我丈夫和我自己的私人账单。

三、vba public与private有什么区别?

一、Public和Private一般用于定义全局变量,也可以在类中使用。区别在于:[Public]前者定义的是公共变量,如果在一个模块当中使用,那么整个应用程序都能使用它所定义的变量,如果在类中使用,那么它就是一个共有属性。[Private]而后者定义的是私有变量,如果在一个模块中使用,那么只有这个模块才能访问到它所定义的变量,如果在类中使用,那么它就是一个私有属性。二、Dim和Static一般在过程(Sub或者Function)内部使用,它们所定义的变量都只能在过程内部被访问。区别在于:[Dim]前者定义的是动态变量,过程一旦结束,该变量所占有的内存就会被系统回收,而变量所储存的数据就会被破坏。

[Static]后者定义的是静态变量,这意味着在过程结束后这个变量所占有的内存不会被回收,数据当然也不会被破坏了,这样当你下次再调用该过程的时候,数据就依然存在。

相比之下,Public和Static都有保留数据不被破坏的作用,但是,前者适合于那些所有过程都可能访问到的变量,而后者则把变量的作用范围缩在最小(只在该过程内能被访问)。

四、C++中private和public的区别?

C++里 private和public的区别:

private和public的作用是让编译器帮你检查某些模组是否使用了他没许可权使用的模组,也就是生成可执行程式码的时候做许可权检查。比如,公司里各个部门有自己私有的资讯,财务部可以看所有员工工资,而销售部不可以,普通员工也不可以。

可不可以访问都是认为规定的,而且在写程式码的时候程式是不会执行的,因此需要在生成程式码的时候做一些检查,就像语法错误在编译的时候被检查出来一样,因为人规定了程式码该如何写。访问控制也是在编译的时候检查,c++采用了private,public,protected,以及friend来限制访问许可权。

private的意思是指类的内部变数或者函式是私有的,在类之外包括继承类就不可见,像魔术师的道具;public是指类的内部变数是外部可见的,像魔术师的表演;protected是指除了本类和继承类之外不可见,像魔术师希望徒弟使用道具,就得让其徒弟看见道具,但是是一种受保护的许可权;friend是指特定指出哪些类或者模组可以看见本类的私有(private以及protected)成员,这就是魔术师信得过的朋友可以让他看见一些幕后。

使用好这个规则,只要程式中出现了越权访问的程式码,编译的时候就会被检查出来,以保证安全。

举例:

class moshushi魔术师类

{

friend class daoyan;导演可以知道魔术师背后的祕密

public:所有人都可以看见的行为以及物品

int jinchang();进场

int biaoyan();表演

int tuichang();退场

int shou, yifu, maozi;手,衣服,帽子

protected:徒弟可以知道的

int zhaotuo();找个托

int gangsi;钢丝

private:只有自己和friend可以知道

int zuobi();作弊

int yaoshui, tezhizhuozi;药水,特制桌子

};

class tudi: public moshushi魔术师徒弟

{

自动有了魔术师的public以及protected

};

class daoyan导演

{

int func(){

可以访问到魔术师物件的私有域

}

...

};

class guanzhong观众

{

不能访问魔术师物件的私有域

...

};

五、swift结构体默认是public还是private?

struct A { int a; int b; }; class B { int a; int b; }; A aa; B bb; 默认即是指不标明访问权限的时候默认使用的权限。 aa.a = 10; aa.b = 20; 由于结构体默认是public所以可以直接访问, 而bb.a bb.b都是不行的因为private成员只能通过类接口来访问。 明白了嘛?

private英文是私有的。

public:公共的。 private是私有的。

public:是公共的,具体表现在声明的私有数据成员或者方法只能通过封装在类中的其它方法访问,这样是避免用户直接通过声明的类对象修改数据成员,不但如此,被其它类以任何方式(公有继承,私有继承,保护继承)后其在派生类中仍表现为私有! 而公有的数据成员和方法不但能通过方法访问,也可以用对象直接访问;被其它类公有继承后其在派生类中仍表现为公有!

六、Private Finance Initiative (PFI) Examples: Successful Public-Private Partnerships

What is the Private Finance Initiative (PFI)?

The Private Finance Initiative (PFI) is a financing model that involves the private sector in delivering public infrastructure projects and services. It is commonly used in the UK and other countries as a way to leverage private sector expertise and resources for public benefit.

Examples of Successful Private Finance Initiative (PFI) Projects

1. Queen Elizabeth Hospital Birmingham

The Queen Elizabeth Hospital Birmingham is one of the largest PFI projects in the UK. The hospital was built and is operated by a private consortium under a long-term contract with the National Health Service (NHS). The PFI model allowed for the construction of a state-of-the-art facility without burdening the public sector with upfront costs.

2. London Underground (Tube) Upgrades

The PFI model was utilized to upgrade and modernize several London Underground lines. Private companies were contracted to finance and deliver the upgrades, ensuring that the improvements were completed efficiently and without disruption to the public transport system. These partnerships have resulted in improved services for commuters.

3. Scottish Schools

In Scotland, the PFI model has been used extensively to build new schools. Private companies have worked with local authorities to design, finance, and construct modern educational facilities. This approach has resulted in faster delivery of schools, reducing the burden on public budgets and providing students with high-quality learning environments.

Benefits and Challenges of the Private Finance Initiative (PFI)

The PFI model offers several benefits:

  • Access to private sector expertise and resources
  • Transfer of project delivery and management risks to the private sector
  • Ability to deliver projects faster and more efficiently
  • Reduced burden on public budgets

However, the PFI model also presents challenges, including:

  • Long-term financial commitments
  • Higher costs compared to traditional procurement methods
  • Complex contract structures and potential for disputes
  • Public perception of privatization of public services

Conclusion

The Private Finance Initiative (PFI) has been successfully implemented in various projects across different sectors. While it has its drawbacks, the PFI model has proven to be an effective way to leverage private sector resources for public benefit. By partnering with private companies, governments can deliver infrastructure projects and services more efficiently, improving public amenities and reducing the burden on public budgets.

Thank you for reading this article on Private Finance Initiative (PFI) examples. We hope it has provided you with valuable insights into the successful implementation of public-private partnerships in various sectors.

七、php4是否支持public?

不,PHP4不支持public关键字。在PHP4中,类的成员默认是公共的,因此不需要使用public关键字来声明。然而,从PHP5开始,引入了访问修饰符(public、private和protected),用于明确指定成员的可访问性。因此,如果你在PHP4中使用public关键字,会导致语法错误。建议升级到PHP5或更高版本以使用public关键字。

八、public,private和static的区别是什么?

你这么问想必已经知道了static的含义,privatestatic:字面上看private的意思是私有的,所以使用private关键字表示该变量或方法必须在本类中使用,如果调用,必须调用的方法必须是静态的,也就是说必须用static修饰.publicstatic:public(公共的)则表示在任何地方都能调用该方法或变量,且无限制调用的地方是否静态.

九、c++public和private有什么用?

c++public和private类的一个特征就是封装,public和private作用就是实现这一目的。所以:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。

2.类的另一个特征就是继承,protected的作用就是实现这一目的。所以:protected成员可以被派生类对象访问,不能被用户代码(类外)访问。

十、php private调用

在PHP编程中,有时候我们需要在一个类的内部访问该类的私有成员。这种情况下,我们可以使用PHP的私有调用功能来解决这个问题。

什么是PHP的私有调用?

私有调用是一种允许类的内部访问私有成员的技术。在PHP中,我们可以使用魔术方法__call()__callStatic()来实现私有调用。

如何使用PHP的私有调用?

要使用PHP的私有调用,我们需要按照以下步骤进行操作:

  1. 在类中定义私有成员。
  2. 实现__call()__callStatic()魔术方法。
  3. 在魔术方法中,通过函数名和参数来访问私有成员。

下面是一个示例:

<?php class MyClass {   private $privateVariable;   public function __construct($value) {     $this->privateVariable = $value;   }   private function privateMethod($param) {     echo "私有方法被调用,参数为:".$param;   }   public function __call($methodName, $arguments) {     if ($methodName == 'callPrivateMethod') {       $this->privateMethod($arguments[0]);     }   } } $obj = new MyClass(10); $obj->callPrivateMethod("Hello World!"); ?>

在上述示例中,我们定义了一个名为MyClass的类,其中包含一个私有变量privateVariable和一个私有方法privateMethod。在__call()魔术方法中,我们检查传递给方法的函数名。如果函数名是'callPrivateMethod',我们调用私有方法privateMethod,并传递第一个参数作为方法的参数。

__call()和__callStatic()的区别

在上面的示例中,我们使用了__call()方法来实现私有方法的调用。但是,如果我们想调用一个不存在的方法,此时我们应该使用__callStatic()方法。

__callStatic()方法与__call()方法的不同之处在于:__callStatic()方法是用于静态方法的,而__call()方法是用于实例方法的。这意味着,我们可以通过静态调用的方式来访问私有成员。

下面是一个使用__callStatic()方法的示例:

<?php class MyClass {   private static $privateStaticVariable;   public static function __callStatic($methodName, $arguments) {     if ($methodName == 'callPrivateStaticMethod') {       self::privateStaticMethod($arguments[0]);     }   }   private static function privateStaticMethod($param) {     echo "私有静态方法被调用,参数为:".$param;   } } MyClass::callPrivateStaticMethod("Hello World!"); ?>

在上述示例中,我们使用了__callStatic()方法来调用私有静态方法privateStaticMethod。我们通过检查传递给方法的函数名,在静态方法中调用了该私有方法,并传递第一个参数作为方法的参数。

总结

PHP的私有调用功能是一种强大的技术,可以让你在一个类的内部访问私有成员。通过实现__call()和__callStatic()魔术方法,我们可以轻松地实现私有调用。但是,请注意不要滥用私有调用功能,因为这可能会破坏类的封装性,导致代码更难理解和维护。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片

网站地图 (共30个专题250174篇文章)

返回首页