Как использовать конструкторы, чтобы распечатать тему, цвет и страницы для каждой книги?

Использование Shmop:

Shmop - это простой в использовании набор функций, который позволяет PHP читать, записывать, создавать и удалять сегменты разделяемой памяти Unix.

blockquote >

from: http://www.php.net/manual/en/intro.shmop.php

Для создания этого расширение

Общие функции памяти

  • shmop_close - Закрыть
  • блок разделяемой памяти
  • shmop_delete - Удалить блок общей памяти
  • shmop_open - создать или открыть блок разделяемой памяти
  • shmop_read - прочитать данные из блока разделяемой памяти
  • shmop_size - получить размер блока разделяемой памяти
  • shmop_write - Запись данных в блок разделяемой памяти

Основное использование

// Create 100 byte shared memory block with system id of 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
    echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Now lets delete the block and close the shared memory segment
if (!shmop_delete($shm_id)) {
    echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

0
задан user10926161 17 January 2019 в 06:30
поделиться

2 ответа

В вашем коде мало ошибок. Читайте комментарии после каждой строки.

public class Books_A  
{ 

    public static void main(String args[]) 
    {

        BookData Book1 = new bookData("geometry", "blue", 756);
        BookData Book2 = new bookData("algebra", "green", 805);
        BookData Book3 = new bookData("algebra", "red", 884);

        System.out.println("Title             Color            Pages");
        System.out.println(  Book1 ); // prints book 1 info
        System.out.println(  Book2 ); // prints book 2 info
        System.out.println(  Book3 ); // prints book 3 info


     }
 }

class BookData // Class name start with captital
{

    String subject; // member names always start with lowercase
    String color;   // member names always start with lowercase
    int pages;      // member names always start with lowercase

    BookData( String bookSubject, String bookColor, int bookPages)
    {

        subject= bookSubject ; // in your code assignment was reverse
        color=bookColor ;  // in your code assignment was reverse
        pages=bookPages ;  // in your code assignment was reverse

     }

     //Override toString method on bookData class.

     @Override
     public String toString() {
        return this.subject+"\r"+this.color+"\r"+this.pages;
     }

  }
0
ответ дан Khalid Shah 17 January 2019 в 06:30
поделиться

Вам нужно написать:

System.out.println(Book1.Subject);

bookSubject - локальная переменная для этого конструктора, и поэтому она может использоваться только внутри нее. Но поскольку вы сделали Subject глобальной переменной, вы можете получить к ней доступ из любого места вне класса через имя объекта.

0
ответ дан Robo Mop 17 January 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: