首先:一个非常相似的问题已经发布并且已经以某种方式解决了,但仍然没有回答我的具体问题.稍后会详细介绍.
用语言:我有一个基类,它为所有子项提供一些方法,但不包含任何属性.我的孩子继承了这些方法,这些方法应该用于访问孩子的属性.如果孩子的属性是protected
或者public
,一切正常,但是如果孩子的属性是private
,则它会失败而没有错误(没有任何反应).
在代码中:
class MyBaseClass {
public function __set($name, $value) {
if(!property_exists($this, $name))
throw new Exception("Property '$name' does not exist!");
$this->$name = $value;
}
}
class ChildClass extends MyBaseClass {
public $publicProperty;
protected $protectedProperty;
private $privateProperty;
}
$myChild = new ChildClass();
$myChild->publicProperty = 'hello world'; //works of course!
$myChild->protectedProperty = 'hello world'; //works as expected
$myChild->privateProperty = 'hello world'; //doesn't work?
Run Code Online (Sandbox Code Playgroud)
上面提到的类似问题得到了使用魔术__set()
方法访问私有属性的解决方案,但我已经在做了.如果我__set()
在孩子中实现,它当然有效,但想法是,孩子继承了__set()
它的父母,但显然它无法访问孩子的私人方法.
这是故意的吗?我做错了吗?或者我的方法只是废话设计?
背景: 我最初的想法是:整个动态的东西 …
我这里有一个虚拟列表:
> x <- c("a", "b", "c")
> y <- c("d", "e", "f")
> z <- list(x,y)
> z
[[1]]
[1] "a" "b" "c"
[[2]]
[1] "d" "e" "f"
Run Code Online (Sandbox Code Playgroud)
如果我想指定另一个变量(例如w)来保存列表中所有向量(即x,y)的最后一项(即"c","f")(即z),我该怎么做?
谢谢!
看这里(抽象类设计):http://msdn.microsoft.com/en-us/library/ms229047.aspx
它说:
(1)不要在抽象类型中定义公共或受保护的内部(Visual Basic中的受保护的朋友)构造函数.
在C#中,我们无法实例化抽象类.那么,在C#中为抽象类定义公共构造函数是否仍然重要?或者因为语义含义而没有为抽象类编写公共构造函数?
它还说:
(2)在抽象类中定义受保护或内部构造函数.
定义内部构造函数?? 在(1)中,它告诉我们不定义内部受保护的构造函数是因为"具有公共或受保护的内部可见性的构造函数是针对可以实例化的类型".不为抽象类定义内部构造函数会破坏(1)中的规则吗?
提前致谢.:)
合并分支(我使用git)时,Xcode项目文件(Project.xcodeproj/project.pbxproj)中经常会发生冲突.有时它很容易,但有时我最终会得到一个损坏的项目文件并且必须还原.在最坏的情况下,我必须通过拖动文件等在第二次提交中手动修复项目文件(可以用之前的方式压扁).
有没有人有关于如何处理大型和复杂文件(如Xcode项目文件)中的合并冲突的提示?
编辑 -一些相关的问题:
我应该使用merge = union将.pbxproj文件与git合并吗?
资源:
http://www.alphaworks.ibm.com/tech/xmldiffmerge
http://www2.informatik.hu-berlin.de/~obecker/XSLT/#merge
http://tdm.berlios.de/3dm/doc/thesis.pdf
http://www.cs.hut.fi/~ctl/3dm/
http://el4j.svn.sourceforge.net/viewvc/el4j/trunk/el4j/framework/modules/xml_merge/
我的意思是输入"iter"和得到一个"for"循环,选择要迭代的变量,键入"soutv"生成"System.out.println",其中"variable ="已经在......
谢谢 !
我需要在现有存储库上递归地应用eol-style属性.存储库包含文本文件和二进制文件.我想仅在文本文件上应用此属性,而不是在二进制文件上应用此属性.如何从命令行或脚本中完成?
我不知道在哪里放一些方法.
假设我想发送电子邮件.
我应该选择以下哪个选项:
email = new Email("title", "adress", "body");
email.send();
Run Code Online (Sandbox Code Playgroud)
要么
email = new Email("title", "adress", "body");
Postman.send(email);
Run Code Online (Sandbox Code Playgroud)
因为电子邮件怎么能自己发送?拥有处理所有电子邮件的中心对象并不是更好,因为他可以管理在特定时间发送所有电子邮件,排序邮件,删除邮件等内容.
此外,如果我想删除用户,我该怎么办:
user.delete();
Run Code Online (Sandbox Code Playgroud)
要么
administrator.delete(user);
Run Code Online (Sandbox Code Playgroud)
请分享您对如何知道放置方法的想法.
我的包中有许多自定义的Exception
类,它们与它们的基类没有区别.我拥有它们的唯一目的是将一个异常原因与另一个异常原因区分开来.这是我的一个Exception类的样子:
package com.XXX;
/**
* Thrown when query format is invalid.
*/
public class InvalidFormatException extends Exception {
/**
* Public ctor.
* @param m Supplementary message
*/
public InvalidFormatException(final String m) {
super(m);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是所有类都完全相同,就像双胞胎一样.唯一不同的是他们的名字.我不喜欢这种情况,因为这是一个明显的代码重复.在其他语言(如PHP,Python等)中,我会在运行时动态地声明这些类,但Java不允许这样,我也理解.有没有解决方法?
对于 iPhone,有一个用于打印 Nslog 的控制台工具。对于 Android,有 logcat。对于 Palm,有腻子。
有没有类似的工具可以打印黑莓的日志?
我将maxAllowedContentLength更改为
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="5024000000" />
</requestFiltering>
</security>
Run Code Online (Sandbox Code Playgroud)
在我的web.config中,但在IIS7上运行时出现此错误:
'maxAllowedContentLength'属性无效.不是有效的无符号整数
但是当我在VS服务器中运行时,它正常运行而没有任何错误.
如何配置我的网站允许上传500MB大小的文件,在IIS7上没有这个问题?
java ×2
oop ×2
.net ×1
.net-4.0 ×1
asp.net ×1
blackberry ×1
c# ×1
eclipse ×1
file-upload ×1
git ×1
ide ×1
iis-7 ×1
inheritance ×1
javascript ×1
list ×1
objective-c ×1
php ×1
python ×1
r ×1
ruby ×1
shell ×1
svn ×1
visibility ×1
xcode ×1
xml ×1