private和public区别(c++中,public 与 private有什么区别什么时候用与c语言中有何相似之处求大神详解,通俗易懂)

本文目录
- c++中,public 与 private有什么区别什么时候用与c语言中有何相似之处求大神详解,通俗易懂
- private 和public的区别
- private和public的区别
- public,private 和 static 的区别是什么
- 构造函数用public 和private修饰有什么区别呢
- public和private的区别
- 说明public变量和private变量的区别
c++中,public 与 private有什么区别什么时候用与c语言中有何相似之处求大神详解,通俗易懂
public下面的是公有成员,对象外的所有程序都能访问这些成员,private下的是私有成员,只有对象内部可以访问。
以数组类为例,如果我们要自己设计一个数组类,提供插入Insert、删除Remove等操作。那么Insert和Remove作为这个类的函数就应该用public,否则使用这个数组类的程序就无法使用这些功能。在实现这个数组类的时候,我们需要用一个整型变量记录当前数组个数,我们不希望这个变量能被使用者随意修改,而是在使用Insert和Remove的时候才修改,那么就把这个变量放在private下面声明,这样使用这个数组类的程序就不能直接修改这个变量的值,防止这个类的数据发生错乱。
与C语言没有什么可比性,公有成员和私有成员是面向对象的程序设计语言才有的概念,而C语言是面向过程的。
private 和public的区别
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
private和public的区别
在英文中Public的含义是:共有的、公有的意思;Private的含义是:私有的、私人的意思。然而,他们在编程上的区别又有什么呢?
我们先看看Public的含义:他的含义既然是共有的、公有的,就表明它是使用在公有场合,可供任何窗体和过程调用。是公有的函数、过程等声明时使用的,范围较大。
再看Private的含义:它的用途是定义私有的函数、过程时使用,它所定义的函数、过程只有在其所定义之处使用,其它地方不能使用,其范围较小。
有人不禁要问了:既然有了Public定义的函数、过程,还要Private定义的干什么呢?
其实Public定义的函数、过程最大的缺点是容易被其他的程序和代码访问,就不利于它的保密,而Private定义的责其安全性和保密性有了很大的保证。
但在一般小的VB程序中,调用API函数是使用模块就用Public,而不使用模块则将它改成Private就是了,没有太大的区别。
而在大的程序或对操作系统的内部进行操作的话,就要注意使用了。
总而言之,合理的使用Public和Private是有好处的。不仅可以提高程序的运行速度更重要的是可以提高程序的可靠性。
public,private 和 static 的区别是什么
首先我们必须知道这三个单词的中文意思。。也就是public 公共的 private 私有的 static
静态的。(意思其实很多种的可以自行百度,这里只写三种)出于你问的这个问题我判断我们应该先从Java的基础也就是最简单的语法讲起。。public和
private是一种修饰词,可以修饰类,方法(包括构造方法),属性,回到你说的问题这个设计是为了Java的三大特点之一的封装,也就是说用你有几个
盒子你可以在上面写标签比如你写public那么这个盒子就如这个单词的意思,可以被任何人打开。private类似。。。好处嘛,笼统的说就是有利于数
据的封装实现高内聚低耦合。
至于static(静态的),被static修饰方法和属性从属于类是一个类属性,在内存里的方法区中不会被回收会一直存在,直到这段程序被终止。一般我们调用属性或方法需要用到构造器创建的实例对象来调用,而static修饰的可以通过类来调用该属性或方法。。
构造函数用public 和private修饰有什么区别呢
对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。
类属性必须定义为公有,受保护,私有之一。如果用 var 定义,则被视为公有。
《?php/**
* Define MyClass
*/
class MyClass
{
public $public = ’Public’;
protected $protected = ’Protected’;
private $private = ’Private’;
function printHello()
{
echo $this-》public;
echo $this-》protected;
echo $this-》private;
}
}
$obj = new MyClass();
echo $obj-》public; // 这行能被正常执行
echo $obj-》protected; // 这行会产生一个致命错误
echo $obj-》private; // 这行也会产生一个致命错误
$obj-》printHello(); // 输出 Public、Protected 和 Private
/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// 可以对 public 和 protected 进行重定义,但 private 而不能
protected $protected = ’Protected2’;
function printHello()
{
echo $this-》public;
echo $this-》protected;
echo $this-》private;
}
}
$obj2 = new MyClass2();
echo $obj2-》public; // 这行能被正常执行
echo $obj2-》private; // 未定义 private
echo $obj2-》protected; // 这行会产生一个致命错误
$obj2-》printHello(); // 输出 Public、Protected2 和 Undefined
?》
类中的方法可以被定义为公有,私有或受保护。如果没有设置这些关键字,则该方法默认为公有。
《?php/**
* Define MyClass
*/
class MyClass
{
// 声明一个公有的构造函数
public function __construct() { }
// 声明一个公有的方法
public function MyPublic() { }
// 声明一个受保护的方法
protected function MyProtected() { }
// 声明一个私有的方法
private function MyPrivate() { }
// 此方法为公有
function Foo()
{
$this-》MyPublic();
$this-》MyProtected();
$this-》MyPrivate();
}
}
$myclass = new MyClass;
$myclass-》MyPublic(); // 这行能被正常执行
$myclass-》MyProtected(); // 这行会产生一个致命错误
$myclass-》MyPrivate(); // 这行会产生一个致命错误
$myclass-》Foo(); // 公有,受保护,私有都可以执行
/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// 此方法为公有
function Foo2()
{
$this-》MyPublic();
$this-》MyProtected();
$this-》MyPrivate(); // 这行会产生一个致命错误
}
}
$myclass2 = new MyClass2;
$myclass2-》MyPublic(); // 这行能被正常执行
$myclass2-》Foo2(); // 公有的和受保护的都可执行,但私有的不行
class Bar
{
public function test() {
$this-》testPrivate();
$this-》testPublic();
}
public function testPublic() {
echo “Bar::testPublic\n“;
}
private function testPrivate() {
echo “Bar::testPrivate\n“;
}
}
class Foo extends Bar
{
public function testPublic() {
echo “Foo::testPublic\n“;
}
private function testPrivate() {
echo “Foo::testPrivate\n“;
}
}
$myFoo = new foo();
$myFoo-》test(); // Bar::testPrivate
// Foo::testPublic
?》
同一个类的对象即使不是同一个实例也可以互相访问对方的私有与受保护成员。这是由于在这些对象的内部具体实现的细节都是已知的。
class Test
{
private $foo;
public function __construct($foo)
{
$this-》foo = $foo;
}
private function bar()
{
echo ’Accessed the private method.’;
}
public function baz(Test $other)
{
// We can change the private property:
$other-》foo = ’hello’;
var_dump($other-》foo);
// We can also call the private method:
$other-》bar();
}
}
$test = new Test(’test’);
$test-》baz(new Test(’other’));
?》
public和private的区别
private,标识只有在当前对象可以用,public表示外面也可以用
例如:
public class User(){
private userId;
public username;
}
User u = new User();
这时你只能访问u.username.private的userId是不能被访问的
说明public变量和private变量的区别
public 共有的 ,如果一个类,前面用public 修饰,那么这个类在外面都可以通过创建类的对象来访问,。private 私有的,如果一个类,前面用 private 修饰,那么这个类在外面将访问不到,。public 就好比广域网,在很大的范围内都可以互相访问,。而private就好比局域网,只在指定的范围内有效。 static 静态的,。它可以用来修饰类,方法,变量,用static修饰的类,方法或者变量,访问它的时候就不要new创建一个实例,。如果是方法或者变量,,直接用 类名字点方法或者变量名就行了。,不如有一个人类people,里面有个用static修饰的name属性。。如果要在另一个类中访问这个属性,就这样 people.name得到people类中name的值,从别的地方复制过来的,不过应该能解答你的问题。

更多文章:
turtles歌曲(哪位大神有turtles(乌龟组合)的<谢谢>的歌词中文翻译 感激不尽)
2026年10月11日 10:00
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40




