在下面的例子中,会发生什么?
class Base {
public int abc = 3;
}
Class Derived : Base {
public int abc = 2;
}
static void Main() {
Derived blah = new Derived();
Console.WriteLine(blah.abc);
}
Run Code Online (Sandbox Code Playgroud)
我相信你会在你的控制台上看到'2',但我正在阅读(和看到)反对...
为什么你会看到'3'而不是'2'?我认为派生类的成员'隐藏'基类的相同成员...
如果我A在C++中有一个指向基类的指针,我怎么能在代码中告诉指针是派生类B还是C?
我在整个项目中使用以下内容,直到现在都没有注意到一个问题:
include '../titleBar.php';
require_once '../navBar.php';
require_once '../theDatabase.php'; // functions for the UI and DB access
require_once '../globals.php'; // variables and statics used throughout
Run Code Online (Sandbox Code Playgroud)
上面的FINE工作了3个星期.文件名之前../的原因是:上述语句出现在用户特定文件(如FOO_x.php)中的用户子文件夹中,这些文件特定于用户输入的数据 - 只有上面的include和require_once文件涉及公共代码,公共代码是根网站目录中子文件夹上方的一个目录.
所以我添加了这个新的代码,它没有引入样式表:
include '../titleBar.php';
require_once '../navBar.php';
require_once '../theDatabase.php';
require_once '../globals.php';
<html>
<head>
<link rel="stylesheet" type="text/css" href="../globalStyles.css" />
Run Code Online (Sandbox Code Playgroud)
我将其更改为此,并将样式表拉到用户特定的文件FOO_x.php中:
<link rel="stylesheet" type="text/css" href="globalStyles.css" />
Run Code Online (Sandbox Code Playgroud)
KEEP IN MIND - 上面的链接rel位于根网站子目录中的文件FOO_x.php中.AND - 文件'globalStyles.css'是.....不在FOO_x.php所在的子目录中.
文件'globalStyles.css'是包含FOO_x.php的文件夹的一个级别.
那么为什么/怎么可能href = globalStyles.css工作呢?好吧,它做到了.
因为在过去3周内,FOO_x.php顶部的include/require列表中的第二个文件"navBar.php"中包含以下语句:
<base href='http://localhost/theSiteRootFolder/'></base>
Run Code Online (Sandbox Code Playgroud)
所以,当我尝试
<link rel="stylesheet" type="text/css" href="../globalStyles.css" />
Run Code Online (Sandbox Code Playgroud)
并且没有一个样式出现在FOO_x.php页面上,我将其切换为
<link rel="stylesheet" type="text/css" href="globalStyles.css" />
Run Code Online (Sandbox Code Playgroud)
突然出现了风格.然后我记得'很久以前'我把'base'语句放在navBar.php中.
接下来我想"好吧,如果链路相对语句使用'基地’的语句从navBar.php …
我有一个基类,我想在初始化派生类之前用它来做一些检查.
class BaseClass
{
public BaseClass(Object Param)
{
// Do checks
}
}
Run Code Online (Sandbox Code Playgroud)
我(当然)也有派生类
class NewClass : BaseClass
{
public NewClass(Object Param) : base(Param)
{
// Code here
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我希望有如下情况
如果基类中的检查失败,那么我希望派生类中的代码(这里是//代码)根本不会被执行.
这可能吗?如果是,怎么样?
如何返回基类形式的数据?
A aclass = new A();
B bclass = aclass.GetB();
Run Code Online (Sandbox Code Playgroud)
不起作用.
public class B
{
protected string str1;
protected string str2;
}
public class A:B
{
public A()
{
base.str1 = "A";
base.str2 = "B";
}
public B GetB()
{
return base;
}
}
Run Code Online (Sandbox Code Playgroud) 我一直试图理解如何输入一个整数并使用函数返回C#中基数为10的数字.我已经研究过,除了数学公式之外,找不到很多代码示例.
谢谢!
我试图创建一个简单的方法将字符串转换为以10为底的整数(在Python中):
def strToNum(strData, num=0 ,numerals="0123456789abcdefghijklmnopqrstuvwxyz"):
return ((len(strData)==0) and num) or (strToNum(strData[0:-1], num+numerals.index(strData[-1])**len(strData)))
Run Code Online (Sandbox Code Playgroud)
它似乎不起作用。当我测试“ test”作为字符串时,它输出:729458。当我使用一些在线工具进行转换时,我得到了:1372205。
我最近编写了一个程序来序列化一些数据(java对象)并将结果字符串保存在文本文件中.信息在base 64中序列化,因此数据最终看起来像这样:
rO0ABXBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBzcgAab3JnLmJ1a2tpdC51dGlsLmlvLldyYXBwZXLyUEfs8RJvBQIA.
我有点理解base 64的意思,但是,因为这是胡言乱语,为什么文本文件或计算机从一开始就显示0和1?如果我正确理解了基础过程,那么计算机上的所有信息都会以0和1的形式存储在某处,因为这是计算机最终存储信息的唯一方式.base 64不仅仅是一种读取和解释字节的方法吗?为什么要让我的文本编辑器读取保存在计算机上的字节,将它们转换为字母(最终使文档更短)然后在上面的表单中显示它?尽管base 64导致在视觉上更紧凑地显示信息的方式,但是无论如何也没有人能够读取基本64文本并且文件仍然具有相同的确切大小.
可以为基类引用变量分配基类对象或派生类对象的地址。
真假?
谁能给我看看这意味着什么的例子?我是Java的新手,正在尝试了解Java的特定语言术语。谢谢。
我认为以下示例就是我在下面编写的代码:
public class B extends A {
A a = new A();
A ab = new B();
}
class A {
}
Run Code Online (Sandbox Code Playgroud)
我认为,由于两个参考变量都是有效的语法(在Eclipse中),所以答案是正确的。
当你知道基数为10的数字时,有人让我确定基数2中的数字有多少位数.
是否有任何方法可以确定基数2中数字的位数而不将数字从基数10转换为基数2?
此时我只知道如何在转换为基数2时确定数字的位数,只有在我计算基数2的数字时.
谢谢!