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

:暂无数据 2026-09-13 03:40:02 :0

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

本篇文章给大家谈谈private和public区别,以及c++中,public 与 private有什么区别什么时候用与c语言中有何相似之处求大神详解,通俗易懂对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

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
?》

同一个类的对象即使不是同一个实例也可以互相访问对方的私有与受保护成员。这是由于在这些对象的内部具体实现的细节都是已知的。

《?php
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的值,从别的地方复制过来的,不过应该能解答你的问题。

关于private和public区别到此分享完毕,希望能帮助到您。

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

本文编辑:admin

更多文章:


python语言程序设计是什么(python语言是什么)

python语言程序设计是什么(python语言是什么)

各位老铁们好,相信很多人对python语言程序设计是什么都不是特别的了解,因此呢,今天就来为大家分享下关于python语言程序设计是什么以及python语言是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 12:00

windows程序设计第五版(《WINDOWS程序设计》和《WINDOWS核心编程》的区别)

windows程序设计第五版(《WINDOWS程序设计》和《WINDOWS核心编程》的区别)

本篇文章给大家谈谈windows程序设计第五版,以及《WINDOWS程序设计》和《WINDOWS核心编程》的区别对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月15日 11:30

issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)

issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)

各位老铁们,大家好,今天由我来为大家分享issued retroactively,以及FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站

2026年10月15日 10:30

f发音是什么?printf的返回值是什么

f发音是什么?printf的返回值是什么

大家好,关于f很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于f发音是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月15日 10:10

begin和start的区别(start与begin的区别)

begin和start的区别(start与begin的区别)

其实begin和start的区别的问题并不复杂,但是又很多的朋友都不太了解start与begin的区别,因此呢,今天小编就来为大家分享begin和start的区别的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 09:20

vant官网中文(范特365 是韩国化妆品VANT36.5吗)

vant官网中文(范特365 是韩国化妆品VANT36.5吗)

大家好,今天小编来为大家解答以下的问题,关于vant官网中文,范特365 是韩国化妆品VANT36.5吗这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 09:10

特殊字符是指什么?正则表达式中一些特殊字符的用法

特殊字符是指什么?正则表达式中一些特殊字符的用法

大家好,特殊字符相信很多的网友都不是很明白,包括特殊字符是指什么也是一样,不过没有关系,接下来就来为大家分享关于特殊字符和特殊字符是指什么的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

2026年10月15日 08:10

特殊符号网名大全花样符号(特殊符号昵称有哪些)

特殊符号网名大全花样符号(特殊符号昵称有哪些)

本篇文章给大家谈谈特殊符号网名大全花样符号,以及特殊符号昵称有哪些对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月15日 07:30

prison break(越狱(prison break)到底是在讲个什么)

prison break(越狱(prison break)到底是在讲个什么)

各位老铁们好,相信很多人对prison break都不是特别的了解,因此呢,今天就来为大家分享下关于prison break以及越狱(prison break)到底是在讲个什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看

2026年10月15日 06:50

c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)

c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)

各位老铁们,大家好,今天由我来为大家分享c程序设计第五版教学视频,以及求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动

2026年10月15日 06:40

最近更新

热门文章

标签列表