连笔字网 > 知识库

public,public/private/protected的具体区别

来源:连笔字网 2023-12-12 06:08:21 作者:连笔君

public/private/protected的具体区别

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

扩展资料:

三种类型的继承,父类的成员均被子类继承(之前的百科关于这点的描述是错误的),只是由类实例化的对象对其继承的成员的访问权限会有所变化。三种不同方式的继承,描述的是子类实例化对象对其成员的访问权限,并非是描述子类时,子类对继承自父类的成员的访问权限。

公有继承 继承自父类的成员保持不变。

私有继承 继承自父类的成员全部变为私有成员。

保护继承 继承自父类的公有成员变为保护成员,其余不变。

参考资料:类百度百科

什么叫public修饰符?有什么作用?举个例子?

你在学习类的对象吧! 在学习定义方法? 还是? public的意思是公共的 意思就是说 其他类和苯类都可以用到此属性或方法 或字段! public是公共类 而相反的就是private 私有的! 你封装的时候就需要用到private! 封装后提高了安全性! 识别的类不能访问到它! 比如说定义一个属性和方法! 属性: public string str = "你好"; 方法:public void getAll(){} 此方法属性在别的类当中就可以掉用! 而private刚刚相反!

public,private和protected的区别

通俗点吧,比较好记一点,不是很严谨!
public 最大的,公开的,都能用,公交车!
private 私有的,自己的,只有我自己用和自己的成员用!
protected 除了我儿子,孙子,曾孙.....才可以用,其他都不行!

简述public、private、protected 三种访问修饰符的区别

public是公共变量的意思 就是在整个程序运行过程中都管用。
private是私有变量的意思 只有类内可直接访问
protected是受保护变量 类内和子类可直接访问,

继承类型意思是说把父类放在哪。
举例:
class A{
public:
int a1;
protected:
int a2;
private:
int a3;
};
A a;
a.a1;//ok
a.a2;//error
a.a3;//error
class B:public A{
public:
void fb(){
a1;//ok
a2;//ok
a3;//error;
}
};
B b;
b.a1,b.a2,b.a3与a.a1,a.a2,a.a3一样,因为是class B:public A,相当于把A放到了B的public部分。

class B:private A{};

b.a1,b.a2,b.a3都error,因为相当于把A全放到了B的private部分,从B来看这三个变量,都是private的。

Java中public,private,protected,和默认的区别

1、private修饰词,表示成员是私有的,只有自身可以访问;
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;
4、public修饰词,表示成员是公开的,所有其他类都可以访问;

protected与public的区别

有区别protected是保护的,只有他自身或者继承他的类可以用,public是共有的,在静态下所有类都可以通过类名打点调用,不是静态下,可以用类对象点去调用

c++类中public,private,protected的用法与区别。

protected类型的访问机制与private一样
在基类的派生类中,可以直接访问继承而来的protected成员,但是不能访问private限制的成员.所以在派生类中,可以访问基类继承而来的public和proected两种类型的成员.
在public公有派生下,继承而来的成员访问权限不变.protected派生下,public和protected都变成protected,private派生下,所有的继承下来都是private了

public private protected和默认的区别

public private protected和package都是系统的实例变量的范围类型。

为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性。

具体区别如下:

@private

实例变量只能被声明它的类访问

The instance variable is accessible only within the class that declares it.

@protected

实例变量能被声明它的类和子类访问,所有没有显式制定范围的实例变量都是@protected

The instance variable is accessible within the class that declares it and within classes that inherit it. All instance variables without an explicit scope directive have @protected scope.

@public

实例变量可以被在任何地方访问。

The instance variable is accessible everywhere.

@package

Using the modern runtime, an @package instance variable has @public scope inside the executable image that implements the class, but acts like @private outside.使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private。Objective-C中的@package与C语言中变量和函数的private_extern类似。任何在实现类的镜像之外的代码想使用这个实例变量都会引发link error这个类型最常用于框架类的实例变量,使用@private太限制,使用@protected或者@public又太开放

private,protected,public和internal的区别

private:只能在本类中使用
protected:在本类中及其子类中可以使用
internal:同一命名空间(程序集)中的类可以使用
public:所有类均可使用

从上到下,私有程度逐渐降低

VC++中的public,private,protected的区别,说得通俗点

public:声明方法和属性可以被随意访问。
Protected:声明的方法和属性只能被类本身和其继承子类访问。
private:只能被定义属性和方法的类访问。

private 是完全私有的,只有当前类中的成员能访问到.
protected 是受保护的,只有当前类的成员与继承该类的类才能访问.

protected的访问权介于public和private之间,实际上三者的区别就是权限问题,private和protected区别主要体现在其继承类的访问权限上,这些你可以自己编写一个程序,写个类,编译一下你就很清楚他们权限的区别了。

私有成员private member
只能被成员函数和类的友元访问
实行信息隐藏的类把其数据成员声明为private

被保护成员protected member
对派生类derived class 就像public 成员一样
对其他程序则表现得像private

上一篇:整顿衣裳起敛容,整顿衣裳起敛容的整顿,古今意

下一篇:没有了

相关阅读