问题标签 [private-methods]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1819 浏览

oop - 为什么我不能访问 Scala 中类的伴随对象中的私有类方法?

我正在为我的面向对象设计课做家庭作业,并且在使用 Scala 的伴随对象时遇到了麻烦。我在一些地方读到伴随对象应该可以访问它们的伴随类的私有方法,但我似乎无法让它工作。(作为说明,任务的重点与实现二叉搜索树有关,所以我不只是在寻求答案......)

我有一个对象应该创建我的私有类的实例,BstAtlas(Bst 也在 Atlas 对象中定义,为清楚起见将其取出):

但是当我去编译时,我得到以下错误:

Question23.scala:15: error: 方法 helpFocusRoom 无法在 Atlas.Atlas a.helpFocusRoom(newRoom) 中访问;

函数 helpFocusRoom 需要隐藏,但我不知道如何隐藏它并且仍然可以在伴随对象内部访问它。

谁能告诉我我在这里做错了什么?

0 投票
1 回答
496 浏览

objective-c - 使用哪种技术在 Obj-C 中创建私有方法?

当我想在 Objective-C 中创建私有方法时,我应该使用什么?
1)众所周知的类别技术。
2) @private 指令。
(我正在做iOS开发)。

0 投票
5 回答
451 浏览

c# - 有没有办法通过 Type.InvokeMember 或 C# 中的消息调用表单或类的私有函数?

我在我的主要应用程序中拥有一堆具有私有和公共功能的表单。我有一个插件架构,可以在创建和加载每个表单时访问它,并保存对它的引用以更新它、添加控件等。

我们正在尝试做的是实现这个插件架构,但是一些插件可能需要调用表单的私有函数。这是我尝试使用 Type.InvokeMember 的示例:

在另一个 DLL 中...

我已经尝试过"SayHello""SayHello()"它们都返回“MissingMethodException”错误:

我需要创建和使用活页夹吗?如果是这样,我该怎么做?我可以使用 System.Windows.Forms.Message 更轻松地做到这一点吗?如果有怎么办?

0 投票
1 回答
579 浏览

php - 降低派生类中函数的访问级别

是否有可能降低 PHP 派生类中函数的访问级别?

示例(...表示更多代码)

现在我应该不能调用MyFuncion 一个bar对象。但是这样做在 PHP 中似乎无效。还有什么办法吗?我知道我可以实现一个空函数,但我根本不想在接口中公开该函数。

0 投票
8 回答
55724 浏览

c++ - 何时/为什么在课堂上将函数设为私有?

我什么时候应该做一个函数private,为什么这是个好主意?

0 投票
2 回答
11698 浏览

objective-c - Objective-C 调用私有方法

以下是 Objective-C 中私有方法的示例:

我的班级.m

我读过关于私有接口/方法声明的内容。但是如何从其他公共方法调用它们呢?我试过[self privateMethod:@"Foo" and: @"Bar"]了,但看起来不对。

0 投票
3 回答
4952 浏览

javascript - 如何设置在 console.log 中返回的 JavaScript 对象名称?

所以,这里的第一个问题 - 请温柔。

我正在与来自各种非 Web 编程背景的其他一些开发人员一起开发一个相当繁重的 JavaScript 项目,我们决定尝试在我们的 JavaScript 伪类中使用公共和私有方法和属性,纯粹作为一种良好的编码实践(即,我们知道它没有实际的优势或安全性)

我们玩弄了几种不同的公共和私有方法(即使用局部范围的变量和具有特权方法的函数以供公共使用),我们目前已经决定让我们的 JavaScript 类构造函数实际返回一个仅代表它们的对象公共接口,有效地隐藏其他所有内容。

这是一个例子:

在 Chrome 中实例化并登录时:

输出:

现在我的问题是:因为从构造函数返回公共接口作为新对象,所以当您 console.log 时,您会注意到它将自己标识为> Object- 而如果我们不返回该公共接口,它被标识为> MyObject.

理想情况下,我们希望显示后者以用于调试目的,并且我知道如何使用 访问构造函数的“MyObject”名称_this.constructor.name,但不知道如何设置它以便以这种方式识别。

有谁知道如何手动设置这个?

注意
我知道这在某些方面是 JavaScript 约定的混蛋,并试图在圆孔中安装一个方形钉,但我们发现它是一种非常明显且易读的方式来完成我们想要做的事情。我对如何使用不同的设计来实现这一点持开放态度,但我最终会寻找适合我们当前设计的答案。

0 投票
2 回答
604 浏览

rubygems - undefined class/module YAML::PrivateType

I have uploaded a new version of gem to the server, successfully. If i install the gem from local, its successfully installed.

But I'm getting following error while installing the same gem from remote server.

ERROR: While executing gem ... (ArgumentError) undefined class/module YAML::PrivateType

Note:

I have included a method outside of any class/module. Is there any issue with that?

0 投票
1 回答
343 浏览

javascript - 通过 javascript 或 jquery 访问 rails 私有/受保护的方法

我知道我可以通过使用 jquery 执行以下操作来访问公共控制器操作:

但是如何使用 jquery 或 javascript 访问控制器中的私有/受保护操作?

0 投票
3 回答
8291 浏览

iphone - 标头中的objective-c私有与公共方法和声明与否?

什么是objective-c中私有方法的最佳实践方法。那是一个只会被类用作辅助方法的方法。

特别是我不清楚的是:

  1. 是否需要将头文件中指定的方法完全设为私有?即为什么不把它放在头文件之外,和
  2. 如果您可以将其排除在头文件之外,那么拥有私有方法有什么意义呢?
  3. 还是在objective-c中没有真正的私有方法这样的情况,在这种情况下,最好只指定头文件中的所有内容而根本不用标记私有方法?

谢谢